Putting an array in memory and flush it afterwards

Hello,
I ' m busy making an EDF file viewer, and now I want to see the data on
different tabs, let's say tab 1 is a Time graph with al the channels,
tab 2 are different XY graphs etc..
I have made 3 buttons outside the tab control: Previous, Stepsize (in
seconds) and Next; if you push Next you see the number of second
selected in Stepsize of data on your screen. I want to use this data on
more tabs so i want to make some sort of buffer where put my data in
when i push next and refresh it when i push next or previous again.
I made a local variable of my data and put it in the contineous walking
while loop (the Next and Previous buttons are "Latch when released", so
they are doing one loop), but then my
program goes very slow, is there
any other possibility to store the data in a peace of memory and then
only read it when i need it?
Best regards,
Thijs

> I made a local variable of my data and put it in the contineous walking
> while loop (the Next and Previous buttons are "Latch when released", so
> they are doing one loop), but then my program goes very slow, is there
> any other possibility to store the data in a peace of memory and then
> only read it when i need it?
>
The local variable is an easy solution, but it isn't efficient
when there is much data stored in the control. The easiest
edit to get back some of the time is to change your loop around
so that it reads from the terminal of the control and only
writes to the local when something has actually changed.
Control terminals are much more efficient to use than locals,
primarily because there is only one of them. If you are
reading from the locals
in multiple places in your diagram,
then move the terminal out to where you can wire to multiple
places getting rid of local variables.
An even better solution, but it will require more wiring
changes, is to get rid of the control that you are using to
store the data and share it between different diagrams within
the loop. The better way to share the data is to use a shift
register. The shift register only has one place to read the
data within the loop and only one place to write to within
the loop. These limitations on access to the data help LV
to optimize. Branch the wire from the left shift register
to the places that need it, and pass some value through the
diagram to the right shift register.
Greg McKaskle

Similar Messages

  • I have read 118 files (from a directory) each with 2088 data and put them into a 2 D array with 2cols and 246384row, I want to have aeach file on a separate columns with 2088 rows

    I have read 118 files from a directory using the list.vi. Each file has 2 cols with 2088rows. Now I have the data in a 2 D array with 2cols and 246384rows (118files * 2088rows). However I want to put each file in the same array but each file in separate columns. then I would have 236 columns (2cols for each of the 118 files) by 2088 rows. thank you very much in advance.

    Hiya,
    here's a couple of .vi's that might help out. I've taken a minimum manipulation approach by using replace array subset, and I'm not bothering to strip out the 1D array before inserting it. Instead I flip the array of filenames, and from this fill in the end 2-D array from the right, overwriting the column that will eventually become the "X" data values (same for each file) and appear on the right.
    The second .vi is a sub.vi I posted elsewhere on the discussion group to get the number of lines in a file. If you're sure that you know the number of data points is always going to be 2088, then replace this sub vi with a constant to speed up the program. (by about 2 seconds!)
    I've also updated the .vi to work as a sub.vi if you wa
    nt it to, complete with error handling.
    Hope this helps.
    S.
    // it takes almost no time to rate an answer
    Attachments:
    read_files_updated.vi ‏81 KB
    Num_Lines_in_File.vi ‏62 KB

  • HT2538 put 1 ram (2gb) reinstall and booted ok, shutdown then unplug then the other 2gb memory and booted and ok now???

    3 beeps on start up, then put 1 ram (2gb) reinstall and booted ok, shutdown then unplug then the other 2gb memory and booted and ok now???
    perm fix, or just temp?

    When it comes to RAM, iMac's are very picky.
    Exactly which iMac do you have?
    see > How to identify iMac models
    And exactly what RAM are you putting into it?
    see > iMac: Memory specifications and upgrades

  • How to save a value in a byte array, retrieve it and display it?

    Hi,
    I am doing a project for my data structures class that involves saving a value (given in String format) in a byte array (our 'memory'). Initially I just tried casting character by character into the byte array and casting back to char[] for retrieval (using .toString() to return what's supposed to be the original string), but this did not work. I tried the .getBytes() method, applying it to the string and then trying to recover it by placing the contents of the 'memory' in a byte array and applying toString(), but that didn't work either. I looked a bit and found this class, CharsetEncoder and CharsetDecoder. I tried to use these but when I try the compiler tells me I cannot instantiate CharsetDecoder because it is an abstract class. At this point I'm at a loss as to what I can do. Is there any way to place a string in a byte array and then recover the string in it's original format? For example, I might save a value in my particular class of "456". But when I try to recover the value from my 'memory' i.e. the byte array, it comes out like [gnue@hnju.... or something similar. I need it to output the original string ("456").
    Below is my code as it is right now, for the methods setValue and getValue.
    Thanks!
    public void setValue(String value) throws InvalidValueException {
         //… stores the given value in the memory area assigned to the variable
              if(this.type.isValidValue(value)){
                   bytes = value.getBytes();
                   int i,j,k;
                   int l=0;//might be wrong?
                   int ad=address-(address%4);
                   mem.readWord(ad);
                   reg=mem.getDataRegister();
                   if((address%4)+bytes.length-1<4){
                        for(i=address%4;i<address%4+bytes.length;i++)
                             reg.setByte(i, bytes[i]);
                        mem.setDataRegister(reg);
                        mem.writeWord(ad);
                   else if((address%4)+bytes.length-1>=4){
                        if(address%4!=0){
                             for(i=address%4;i<4;i++){
                                  reg.setByte(i, bytes);
                                  l++;
                             mem.setDataRegister(reg);
                             mem.writeWord(ad);
                             ad+=mem.WORDSIZE;
                        while(ad<address+bytes.length-(address+bytes.length)%4){
                             for(j=0;j<4;j++){
                                  reg.setByte(j, bytes[j+l]);
                                  l++;
                             mem.setDataRegister(reg);
                             mem.writeWord(ad);
                             ad+=mem.WORDSIZE;
                        if((address+bytes.length)%4!=0){
                             mem.readWord(ad);
                             reg=mem.getDataRegister();
                             for(k=0;k<(address+bytes.length)%4;k++){
                                  reg.setByte(k, bytes[k+l]);
                                  l++;
                             mem.setDataRegister(reg);
                             mem.writeWord(ad);
                   else
                        throw new InvalidValueException("The value passed is not valid.");
         /** Gets the current value of the variable.
         @return current value converted to String
         public String getValue() {
              //… returns the current value stored in the corresponding memory area
              //… value is converted to String
              bytes=new byte[this.getType().getSize()];
              int i,j,k;
              int l=0;//might be wrong?
              int ad=address-(address%4);
              mem.readWord(ad);
              reg=mem.getDataRegister();
              if((address%4)+bytes.length-1<4){
                   for(i=address%4;i<address%4+bytes.length;i++)
                        bytes[i] = reg.readByte(i);
              else if((address%4)+bytes.length-1>=4){
                   if(address%4!=0){
                        for(i=address%4;i<4;i++){
                             bytes[i] = reg.readByte(i);
                             l++;
                        ad+=mem.WORDSIZE;
                   mem.readWord(ad);
                   reg=mem.getDataRegister();
                   while(ad<address+bytes.length-(address+bytes.length)%4){
                        for(j=0;j<4;j++){
                             bytes[j+l] = reg.readByte(j);
                             l++;
                        ad+=mem.WORDSIZE;
                   if((address+bytes.length)%4!=0){
                        mem.readWord(ad);
                        reg=mem.getDataRegister();
                        for(k=0;k<(address+bytes.length)%4;k++){
                             bytes[k+l] = reg.readByte(k);
                             l++;
              return bytes.toString();

    You can certainly put it into a byte array and then construct a new String from that byte array. Just calling toString doesn't mean you'll automatically get a meaningful string out of it. Arrays do not override the toString method, so the use the one inherited from object.
    Look at String's constructors.

  • Saving a recording in  memory and in disk at the same time.

    Hi, I record audio and a I want to save it in memory,then when the user presses a stop button I have to save the audio that is in buffer to a directory file. So far I to the first part that is save in memory. Here is some code I use:
    {color:#0000ff}
    class {color:#000000}recording{color} extends {color:#000000}Thread{color}*{*
    * boolean {color:#339966}suspended{color};*
    * public void* {color:#000000}run{color}*(){*
    * try{*
    * while*{color:#000000}(!{color}{color:#339966}*suspended*{color}{color}{color:#000000})
    {color} File *{color:#339966}file{color}*={color:#0000ff}*new*{color} File*{color:#ff9900}("C:/prueba.wav"{color}*);
    ByteArrayOutputStream {color:#339966}*dataCapturada*{color}={color:#0000ff}*new*{color} ByteArrayOutputStream();
    byte *{color:#339966}bufferTemporal{color}*[]={color:#0000ff}*new* {color}byte[10000];
    {color:#0000ff} int {color}numbytesleidos=*{color:#339966}targetDataLine{color}*.read(*{color:#339966}bufferTemporal,{color}*0,{color:#339966}*bufferTemporal.length*{color});
    datacapturada.write*{color:#339966}(bufferTemporal{color}*,0,{color:#339966}*numbytesleidos*{color});
    }{color:#0000ff}*catch*{color}(Exception e){e.printStackTrace()}
    So far,this works perfectly, but i put this line of code to save in directory file after the line:datacapturada.write....
    AudioSyste.write(*{color:#0000ff}new{color}* AudioInputStream({color:#339966}*targetDataLine),*{color}AudioFileFormat.Type.*{color:#339966}WAVE{color}*,*{color:#339966}file{color}*);
    It saves file in the directory file,but doesnt save in memory. Why could this be??

    Ok sorry, as you had seem in other forums, meaning JMF,I decided to record from microphone in WAVE format. This is done, but I also have to show the volume in a progress bar. So I take and example and it works, but this method that calculate volume needs an array of bytes, that is the array that I use for record in memory.So record in memory and show a progress bar volume works, but I also have to save in directory file. My idea is to save in memory and save in file directory at the same time, or save in memory and then when I press a stop button transfer the data saved in memory to the directory file.Here is all the code,assume that all declarations have been done:
    public void capturarAudio() {
           try {        
                formatoAudio = obtenerFormatoAudio();
                DataLine.Info lineaDataInfo = new DataLine.Info(TargetDataLine.class,formatoAudio);
                linea = (TargetDataLine) AudioSystem.getLine(lineaDataInfo);
                linea.open(formatoAudio);
                linea.start();
                Thread hiloGrabacion=new Thread(new hiloGrabacion());
                hiloGrabacion.start();
           } catch (LineUnavailableException ex) {
                Logger.getLogger(InformDetail.class.getName()).log(Level.SEVERE, null, ex);
    class hiloGrabacion extends Thread{
            byte bufferTemporal[] = new byte[10000];
            File archivo=new File("C:/Documents and Settings/java/multimedia/audio.wav");
            @Override
            public void run(){
                dataCapturada     = new ByteArrayOutputStream();
                detenerGrabacion  = false;
                try{
                    while(!detenerGrabacion){
                        int numBytesLeidos=linea.read(bufferTemporal,0 , bufferTemporal.length);
                        if(numBytesLeidos>0){
                            dataCapturada.write(bufferTemporal, 0, numBytesLeidos);
                            mostrarVolumen(bufferTemporal,0,numBytesLeidos);
                            lblCronometro.setText(linea.getMicrosecondPosition()/1000000+"");
                    AudioSystem.write(new AudioInputStream(linea), AudioFileFormat.Type.WAVE, archivo);
                    dataCapturada.close();
                }catch(Exception e){
                    e.printStackTrace();
        }

  • Associative Array, Drp-DwnList and Accesing "SubArray" Values ?

    Based on the users selection on a drop-down box, I need to be able to access different elements associated with that selection (elements of a subArray, so to speak)
    I am not certain how to go about creating arrays in LiveCycle. I've tried a number of things including:
    putting the array name in the "variables tab" of the Form Properties, with a value of [] -- that doesn't seen to be the way to go, so I removed it
    using rounded brackets ( instead of square [
    declaring the arrays differently using var codeDetail = new Array(array,Values,Here);
    putting the code in a fragment--not sure how to reference the values,
    I have the following code residing in the "Exit" event for the drop-down box:
    var codeDetail = [];   //an associative array
    codeDetail["99999"] = ["None",null,null,null,null,null,null,null];
    codeDetail["78400"] = ["Trampoline",40,45,50,60,10,20,40];
    codeDetail["78020"] = ["Horse(s)",10,12,15,20,5,10, 20];
    codeDetail["78401"] = ["Horse Boarding (each)",19,23,28,39,17,24,48];
    codeDetail["78010"] = ["Watercraft - Outboard over 50 HP (each)",13,18,20,24,17,24,48];
    codeDetail["78011"] = ["Watercraft - Inboard or I/O over 50 HP (each)",30,35,40,50,17,24,48];
    codeDetail["78050"] = ["Recreational Vehicle: ATV (each)",40,51,61,84,9,11,22];
    codeDetail["78053"] = ["Recreational Vehicle: Snowmobiles (each)",36,46,55,76,9,11,22];
    codeDetail["78052"] = ["Recreational Vehicle: Golf Carts (each)",29,37,44,61,9,11,22];
    codeDetail["73000"] = ["Personal Injury",14,19,22,31,null,null,null];
    codeDetail["78030"] = ["Office, School or Studio",10,11,13,19,9,17,34];
    codeDetail["78060"] = ["Retail Sales",36,46,56,77,3,4,8];
    codeDetail["78061"] = ["Incidental Business Pursuits",36,46,56,77,3,4,8];
    codeDetail["78070"] = ["Additional Insured: Premises Only",8,10,12,17,null,null,null];
    codeDetail["78090"] = ["Additional Insured - Personal Libility",31,40,50,69,9,17,34];
    codeDetail["78040"] = ["Seasonal Residence Occupied by Insured",10,11,13,19,3,4,8];
    codeDetail["78041"] = ["Rented to Others: One Family",23,28,34,47,9,17,34];
    codeDetail["78042"] = ["Rented to Others: Two Family",29,35,43,61,11,23,45];
    codeDetail["78043"] = ["Rented to Others: Three Family",43,55,66,90,17,33,60];
    codeDetail["78044"] = ["Rented to Others: Four Family",67,83,100,139,24,50,80];
    codeDetail["76000"] = ["Waterbed Liability",10,12,13,19,null,null,null];
    codeDetail["78300"] = ["Non-Owned and Hired Auto Liability",56,69,80,92,17,24,48];
    itemChosen = [];  //a subArray
    var i = this.rawValue
    itemChosen = [codeDetail[i]];    //  values based on user's selection
    The goal is to now be able to use the itemChosen values and simply refer to them:
    this.rawValue = itemChosen[i]   or   this.rawValue = itemChosen[someField.rawValue]
    So if this drop-down box has a rawValue = "78400" then itemChosen[2] would have a value of 45 (see above).
    Am I anywhere close?
    Also, a couple of other questions:
    When using a variable.value or a field.rawValue as the index value for itemChosen[i]
    do you include "" or .value or .rawValue in the index brackets?
    Do you ever use .value when referencing an array as in: itemChosen[i].value
    How do I make sure arrays and variables created like this are global, or not? I tried with and without the "var" declaration
    Thanks much!
    Stephen

    I've just been playing with a similar thing.
    My code is based on a sample from WindJack Solutions, which is available here:
    http://www.acrobatusers.com/tutorials/2007/js_list_combo_livecycle
    Check this thread for a good sample from Bruce, he took my code and jacked it up considerably.
    http://forums.adobe.com/message/2203834#2203834
    If you google "multi dimensional javascript arrays" you'll find quite a bit of info too.

  • CreateRow increases memory and cpu. Tomcat+ADF Faces+BC4J in JDev 10.1.3.0

    CreateRow increases memory and cpu. Tomcat+ADF Faces+BC4J in JDev 10.1.3.0.4
    My old problem is this Ineffectiveness/Inconsistency BC4J createrow in tomcat, CPU = 100%,Mem=2.2G
    I have tested my Adf Faces application with jmx in server and, in my machine, jconsole and mc4j.
    When cpu=100% and memory increases, jconsole constantly returned similar trace:
    In all trace, I see that common is:
    oracle.jbo.server.QueryCollection.populateRow(QueryCollection.java:2203)
    oracle.jbo.server.QueryCollection.fetch(QueryCollection.java:2088)
    Therefore, I believe that function populateRow make infinity loop (or fuction fech make infinity loop, called populateRow), but I don’t know populteRow or fetch code.
    tomcat Version: 5.5.16
    Jdeveloper Version: 10.1.3.0.4
    Adf Business component Version: 10.1.3.36.73
    Java version: 1.5.0_05
    Please, any oracle ACE could help me?
    When cpu=100% and memory increases, jconsole constantly returned any of these trace:
    First trace
    java.net.SocketOutputStream.socketWrite0(Native Method)
    java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
    java.net.SocketOutputStream.write(SocketOutputStream.java:136)
    oracle.net.ns.DataPacket.send(Unknown Source)
    oracle.net.ns.NetOutputStream.flush(Unknown Source)
    oracle.net.ns.NetInputStream.getNextPacket(Unknown Source)
    oracle.net.ns.NetInputStream.read(Unknown Source)
    oracle.net.ns.NetInputStream.read(Unknown Source)
    oracle.net.ns.NetInputStream.read(Unknown Source)
    oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:979)
    oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:951)
    oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:448)
    oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:185)
    oracle.jdbc.driver.T4CPreparedStatement.fetch(T4CPreparedStatement.java:692)
    oracle.jdbc.driver.OracleResultSetImpl.close_or_fetch_from_next(OracleResultSetImpl.java:258)
    oracle.jdbc.driver.OracleResultSetImpl.next(OracleResultSetImpl.java:193)
    oracle.jbo.server.QueryCollection.hasNextInResultSet(QueryCollection.java:3014)
    oracle.jbo.server.ViewObjectImpl.hasNextForCollection(ViewObjectImpl.java:3650)
    oracle.jbo.server.QueryCollection.hasNext(QueryCollection.java:2992)
    oracle.jbo.server.QueryCollection.populateRow(QueryCollection.java:2207)
    oracle.jbo.server.QueryCollection.fetch(QueryCollection.java:2088)
    oracle.jbo.server.QueryCollection.get(QueryCollection.java:1468)
    oracle.jbo.server.ViewRowSetImpl.getRow(ViewRowSetImpl.java:3650)
    oracle.jbo.server.ViewRowSetImpl.getRow(ViewRowSetImpl.java:2612)
    oracle.jbo.server.ViewObjectImpl.activateCurrentRow(ViewObjectImpl.java:12360)
    oracle.jbo.server.ViewRowSetIteratorImpl.activateIteratorState(ViewRowSetIteratorImpl.java:3768)
    oracle.jbo.server.ViewRowSetImpl.activateIteratorState(ViewRowSetImpl.java:4960)
    oracle.jbo.server.ViewRowSetImpl.doCreateAndInitRow(ViewRowSetImpl.java:1901)
    oracle.jbo.server.ViewRowSetImpl.createRow(ViewRowSetImpl.java:1891)
    oracle.jbo.server.ViewObjectImpl.createRow(ViewObjectImpl.java:6555)
    com.samesi.segestion.view.backing.app.Clientes.devoluciones_action(Clientes.java:1845)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:585)
    com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:146)
    com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:92)
    oracle.adf.view.faces.component.UIXCommand.broadcast(UIXCommand.java:211)
    oracle.adf.view.faces.component.UIXCollection.broadcast(UIXCollection.java:94)
    oracle.adf.view.faces.component.UIXTable.broadcast(UIXTable.java:205)
    javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:267)
    javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:381)
    com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:95)
    com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245)
    com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:110)
    javax.faces.webapp.FacesServlet._service_79(FacesServlet.java:197)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:367)
    oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:336)
    oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:196)
    oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:87)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:332)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
    org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
    org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    java.lang.Thread.run(Thread.java:595)
    Second trace
    java.net.SocketInputStream.socketRead0(Native Method)
    java.net.SocketInputStream.read(SocketInputStream.java:129)
    oracle.net.ns.Packet.receive(Unknown Source)
    oracle.net.ns.DataPacket.receive(Unknown Source)
    oracle.net.ns.NetInputStream.getNextPacket(Unknown Source)
    oracle.net.ns.NetInputStream.read(Unknown Source)
    oracle.net.ns.NetInputStream.read(Unknown Source)
    oracle.net.ns.NetInputStream.read(Unknown Source)
    oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:979)
    oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:951)
    oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:448)
    oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:185)
    oracle.jdbc.driver.T4CPreparedStatement.fetch(T4CPreparedStatement.java:692)
    oracle.jdbc.driver.OracleResultSetImpl.close_or_fetch_from_next(OracleResultSetImpl.java:258)
    oracle.jdbc.driver.OracleResultSetImpl.next(OracleResultSetImpl.java:193)
    oracle.jbo.server.QueryCollection.hasNextInResultSet(QueryCollection.java:3014)
    oracle.jbo.server.ViewObjectImpl.hasNextForCollection(ViewObjectImpl.java:3650)
    oracle.jbo.server.QueryCollection.hasNext(QueryCollection.java:2992)
    oracle.jbo.server.QueryCollection.populateRow(QueryCollection.java:2207)
    oracle.jbo.server.QueryCollection.fetch(QueryCollection.java:2088)
    oracle.jbo.server.QueryCollection.get(QueryCollection.java:1468)
    oracle.jbo.server.ViewRowSetImpl.getRow(ViewRowSetImpl.java:3650)
    oracle.jbo.server.ViewRowSetImpl.getRow(ViewRowSetImpl.java:2612)
    oracle.jbo.server.ViewObjectImpl.activateCurrentRow(ViewObjectImpl.java:12360)
    oracle.jbo.server.ViewRowSetIteratorImpl.activateIteratorState(ViewRowSetIteratorImpl.java:3768)
    oracle.jbo.server.ViewRowSetImpl.activateIteratorState(ViewRowSetImpl.java:4960)
    oracle.jbo.server.ViewRowSetImpl.doCreateAndInitRow(ViewRowSetImpl.java:1901)
    oracle.jbo.server.ViewRowSetImpl.createRow(ViewRowSetImpl.java:1891)
    oracle.jbo.server.ViewObjectImpl.createRow(ViewObjectImpl.java:6555)
    com.samesi.segestion.view.backing.app.Clientes.devoluciones_action(Clientes.java:1845)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:585)
    com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:146)
    com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:92)
    oracle.adf.view.faces.component.UIXCommand.broadcast(UIXCommand.java:211)
    oracle.adf.view.faces.component.UIXCollection.broadcast(UIXCollection.java:94)
    oracle.adf.view.faces.component.UIXTable.broadcast(UIXTable.java:205)
    javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:267)
    javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:381)
    com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:95)
    com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245)
    com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:110)
    javax.faces.webapp.FacesServlet._service_79(FacesServlet.java:197)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:367)
    oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:336)
    oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:196)
    oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:87)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:332)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
    org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
    org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    java.lang.Thread.run(Thread.java:595)
    Third trace
    java.lang.System.arraycopy(Native Method)
    com.sun.java.util.collections.ArrayList.toArray(ArrayList.java:287)
    oracle.jbo.server.ViewDefImpl.getEntityReferences(ViewDefImpl.java:547)
    oracle.jbo.server.ViewRowStorage.entityCacheAdd(ViewRowStorage.java:1730)
    oracle.jbo.server.ViewRowImpl.entityCacheAdd(ViewRowImpl.java:2151)
    oracle.jbo.server.ViewDefImpl.createInstanceFromResultSet(ViewDefImpl.java:1070)
    oracle.jbo.server.ViewObjectImpl.createRowFromResultSet(ViewObjectImpl.java:2943)
    oracle.jbo.server.ViewObjectImpl.createInstanceFromResultSet(ViewObjectImpl.java:2841)
    oracle.jbo.server.QueryCollection.populateRow(QueryCollection.java:2203)
    oracle.jbo.server.QueryCollection.fetch(QueryCollection.java:2088)
    oracle.jbo.server.QueryCollection.get(QueryCollection.java:1468)
    oracle.jbo.server.ViewRowSetImpl.getRow(ViewRowSetImpl.java:3650)
    oracle.jbo.server.ViewRowSetImpl.getRow(ViewRowSetImpl.java:2594)
    oracle.jbo.server.ViewObjectImpl.activateCurrentRow(ViewObjectImpl.java:12360)
    oracle.jbo.server.ViewRowSetIteratorImpl.activateIteratorState(ViewRowSetIteratorImpl.java:3768)
    oracle.jbo.server.ViewRowSetImpl.activateIteratorState(ViewRowSetImpl.java:4960)
    oracle.jbo.server.ViewRowSetImpl.doCreateAndInitRow(ViewRowSetImpl.java:1901)
    oracle.jbo.server.ViewRowSetImpl.createRow(ViewRowSetImpl.java:1891)
    oracle.jbo.server.ViewObjectImpl.createRow(ViewObjectImpl.java:6555)
    com.samesi.segestion.view.backing.app.Clientes.devoluciones_action(Clientes.java:1845)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:585)
    com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:146)
    com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:92)
    oracle.adf.view.faces.component.UIXCommand.broadcast(UIXCommand.java:211)
    oracle.adf.view.faces.component.UIXCollection.broadcast(UIXCollection.java:94)
    oracle.adf.view.faces.component.UIXTable.broadcast(UIXTable.java:205)
    javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:267)
    javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:381)
    com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:95)
    com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245)
    com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:110)
    javax.faces.webapp.FacesServlet._service_79(FacesServlet.java:197)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:367)
    oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:336)
    oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:196)
    oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:87)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:332)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
    org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
    org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    java.lang.Thread.run(Thread.java:595)
    Fourth (and end) trace
    oracle.sql.NUMBER.toBigDecimal(NUMBER.java:715)
    oracle.sql.NUMBER.bigDecimalValue(NUMBER.java:2080)
    oracle.jbo.domain.Number.bigDecimalValue(Number.java:551)
    oracle.jbo.domain.Number.hashCode(Number.java:431)
    oracle.jbo.Key.hashCode(Key.java:384)
    oracle.jbo.common.WeakHashtableImpl.get(WeakHashtableImpl.java:195)
    oracle.jbo.common.WeakHashtable.get(WeakHashtable.java:98)
    oracle.jbo.server.EntityCache.add(EntityCache.java:327)
    oracle.jbo.server.ViewRowStorage.entityCacheAdd(ViewRowStorage.java:1762)
    oracle.jbo.server.ViewRowImpl.entityCacheAdd(ViewRowImpl.java:2151)
    oracle.jbo.server.ViewDefImpl.createInstanceFromResultSet(ViewDefImpl.java:1070)
    oracle.jbo.server.ViewObjectImpl.createRowFromResultSet(ViewObjectImpl.java:2943)
    oracle.jbo.server.ViewObjectImpl.createInstanceFromResultSet(ViewObjectImpl.java:2841)
    oracle.jbo.server.QueryCollection.populateRow(QueryCollection.java:2203)
    oracle.jbo.server.QueryCollection.fetch(QueryCollection.java:2088)
    oracle.jbo.server.QueryCollection.get(QueryCollection.java:1468)
    oracle.jbo.server.ViewRowSetImpl.getRow(ViewRowSetImpl.java:3650)
    oracle.jbo.server.ViewRowSetImpl.getRow(ViewRowSetImpl.java:2594)
    oracle.jbo.server.ViewObjectImpl.activateCurrentRow(ViewObjectImpl.java:12360)
    oracle.jbo.server.ViewRowSetIteratorImpl.activateIteratorState(ViewRowSetIteratorImpl.java:3768)
    oracle.jbo.server.ViewRowSetImpl.activateIteratorState(ViewRowSetImpl.java:4960)
    oracle.jbo.server.ViewRowSetImpl.doCreateAndInitRow(ViewRowSetImpl.java:1901)
    oracle.jbo.server.ViewRowSetImpl.createRow(ViewRowSetImpl.java:1891)
    oracle.jbo.server.ViewObjectImpl.createRow(ViewObjectImpl.java:6555)
    com.samesi.segestion.view.backing.app.Clientes.devoluciones_action(Clientes.java:1845)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:585)
    com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:146)
    com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:92)
    oracle.adf.view.faces.component.UIXCommand.broadcast(UIXCommand.java:211)
    oracle.adf.view.faces.component.UIXCollection.broadcast(UIXCollection.java:94)
    oracle.adf.view.faces.component.UIXTable.broadcast(UIXTable.java:205)
    javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:267)
    javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:381)
    com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:95)
    com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245)
    com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:110)
    javax.faces.webapp.FacesServlet._service_79(FacesServlet.java:197)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:367)
    oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:336)
    oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:196)
    oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:87)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:332)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
    org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
    org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    java.lang.Thread.run(Thread.java:595)Tranks,

    I continued researching. When my server gain cpu and memory in Catalina.out, I can to see this output:
    Feb 28, 2008 10:25:53 AM oracle.adf.view.faces.webcache.component.UICache encodeBegin
    INFO: fragment is Facturacion.jspx:_id3
    Feb 28, 2008 10:25:53 AM oracle.adf.view.faces.webcache.component.UICache getFragmentFromCache
    INFO: fragment (Facturacion.jspx:_id3) fetch: cache miss
    Feb 28, 2008 10:25:53 AM oracle.adf.view.faces.webcache.component.UICache insertFragmentInCache
    INFO: fragment (Facturacion.jspx:_id3) insert: cached for 864000 secs
    Feb 28, 2008 10:25:53 AM oracle.adf.view.faces.webcache.component.UICache encodeBegin
    INFO: fragment is Facturacion.jspx:_id4
    Feb 28, 2008 10:25:53 AM oracle.adf.view.faces.webcache.component.UICache getFragmentFromCache
    INFO: fragment (Facturacion.jspx:_id4) fetch: cache missIn this example, I belive that user is resuming the Facturacion.jspx page. In my code I have this line:
    It’s corresponding to menu.
    I have looking this documentation:
    http://download.oracle.com/docs/html/B25947_01/web_cache002.htm
    In this documentation, first access, the cache miss, but the following times the cache could hit. . When my server gain cpu and memory I look that the following times the cache always miss in all pages. Subsequently tomcat no reply and the malicious thread, execute Armageddon trace. This behavior of the cache is strange, right?
    I’m sure that I’m making anything that fetch in queryCollection make big loop.
    I have redefining getRangeSize and CurrentRow of my CustomViewObject (all viewOjects about my applications extends CustomViewObject and CustomViewObject extends viewObject) and I looked correct rangesize (not -1). I got system.out.println(getFetchedRowCount()) in createRow and obtain 13 or 15. I belive that It’s correct.
    Another example of problematic trace is (in this case is in preparemodel):
    com.sun.java.util.collections.ArrayList.indexOf(ArrayList.java:201)
    com.sun.java.util.collections.ArrayList.contains(ArrayList.java:183)
    oracle.jbo.server.ViewRowCache.addWithCheck(ViewRowCache.java:351)
    oracle.jbo.server.ViewRowCache.add(ViewRowCache.java:409)
    oracle.jbo.server.QueryCollection.addRowToColl(QueryCollection.java:2069)
    oracle.jbo.server.QueryCollection.fetch(QueryCollection.java:2111)
    oracle.jbo.server.QueryCollection.get(QueryCollection.java:1468)
    oracle.jbo.server.ViewRowSetImpl.getRow(ViewRowSetImpl.java:3650)
    oracle.jbo.server.ViewRowSetImpl.getRow(ViewRowSetImpl.java:2612)
    oracle.jbo.server.ViewObjectImpl.activateCurrentRow(ViewObjectImpl.java:12360)
    oracle.jbo.server.ViewRowSetIteratorImpl.activateIteratorState(ViewRowSetIteratorImpl.java:3768)
    oracle.jbo.server.ViewRowSetIteratorImpl.getRangeSize(ViewRowSetIteratorImpl.java:627)
    oracle.jbo.server.ViewRowSetImpl.getRangeSize(ViewRowSetImpl.java:2251)
    oracle.jbo.server.ViewObjectImpl.getRangeSize(ViewObjectImpl.java:6065)
    oracle.adf.model.binding.DCIteratorBinding.initSourceRSI(DCIteratorBinding.java:1549)
    oracle.adf.model.binding.DCIteratorBinding.callInitSourceRSI(DCIteratorBinding.java:1420)
    oracle.adf.model.binding.DCIteratorBinding.getRowSetIterator(DCIteratorBinding.java:1403)
    oracle.adf.model.binding.DCIteratorBinding.setRangeSize(DCIteratorBinding.java:2641)
    oracle.adf.model.binding.DCBindingContainer.internalRefreshControl(DCBindingContainer.java:2484)
    oracle.adf.model.binding.DCBindingContainer.refresh(DCBindingContainer.java:2257)
    oracle.adf.controller.v2.lifecycle.PageLifecycleImpl.prepareModel(PageLifecycleImpl.java:104)
    com.samesi.segestion.view.frameworkExt.SegestionPageLifecycle.prepareModel(SegestionPageLifecycle.java:354)
    oracle.adf.controller.v2.lifecycle.Lifecycle$8.execute(Lifecycle.java:210)
    oracle.adf.controller.v2.lifecycle.Lifecycle.executePhase(Lifecycle.java:116)
    oracle.adf.controller.faces.lifecycle.ADFPhaseListener.mav$executePhase(ADFPhaseListener.java)
    oracle.adf.controller.faces.lifecycle.ADFPhaseListener$4.after(ADFPhaseListener.java:331)
    oracle.adf.controller.faces.lifecycle.ADFPhaseListener.afterPhase(ADFPhaseListener.java:97)
    com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:254)
    com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:110)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:367)
    oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:336)
    oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:196)
    oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:87)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:332)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
    org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
    org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    java.lang.Thread.run(Thread.java:595)Thanks,

  • How to create a file in memory and then store it in database

    Hi Guys,
    I'm wondering how could i create a file such a plain text or css styleshhet in runtime and then store this file in the database. I need to save them in the database cause the application doe not have write permission to filesystem.
    Is that possible ? Can a file be created only in memory and saved in database instead of filesystem?
    I'd appreciate your help on this.
    Thanks a lot.

    jack.black wrote:
    What i really need is to save information as a stylesheet into db. These information is input in a form and sent to a servlet. You have a servlet and in there you are creating data, lets say the data is representable as a string.
    You have a database layer (however it is implemented) which takes data (string) and stores it as a blob presumably.
    That is two distinct and completely separate processes.
    The second has nothing to do with the first because the second doesn't care how the data is created. And you should write the code for the second and test it completely independent from the first (just as all of the database layer should be handled.)
    As for the first you can use StringWriter, perhaps wrapping it in PrintWriter if you wish. Do whatever you want to put data in there. Be sure to close it, extract the string and then use it.
    The only limitation to processing like this is that if the data gets too large (individually or due to number of threads) it could adversely impact the application.

  • Populating a dynamic array with objects and managing it in runtime.

    So I'm another stuck firstyear. I'll try and make my question compact. I'm using Flash CS6 and have drawn an animated character on the stage that consists of separate parts that are animated and its head is a separate class/symbol entirely because it has not only animation, but a state switch timeline as well. This said Head extends the Main that is the character MovieClip.
    I am using a dynamic array to store and .push and .splice objects of another class that would collide with this said Head.
    I also discovered the super() function that is implicitly called as the constructor of the parent in any child class that extends the parent, in this case Head extends Main. The issue is that my collidable object array is populated within the main, within the function that spawns every next collidable object with a TimerEvent. This said function then gets called twice due to the super() call.
    I have tried putting this super() call into an impossible statement in my child class, but it doesn't change a thing, and it was said that this method is unsafe so I don't even know if it should be working.
    However what confuses me the most is when I trace() the .length of my collidable object array at the end of that function. As I said earlier, the original function both spawns an object after a period of Timer(1000) and adds it to the stage as well as adds the object onto the object array, but the super() constructor only duplicates the length call and a creates a copy of the object on the stage, but it does not add the second copy of the object onto the array. The trace() output goes on like so:
    1
    1
    2
    2
    3
    3
    4
    4
    etc.
    I wonder why and I'm really stumped by this.
    Here is the code in question:
    public class Main extends MovieClip {
                        public var nicesnowflake: fallingsnow;
                        var nicesnowflakespawntimer: Timer = new Timer(1000);
                        public var nicesnowflakearray: Array = new Array();
                        public function Main() {
                                  nicesnowflakespawntimer.addEventListener(TimerEvent.TIMER, nicesnowflakespawn);
                                  nicesnowflakespawntimer.start();
                        public function nicesnowflakespawn(event:TimerEvent) : void {
                                  nicesnowflake = new fallingsnow;
                                  nicesnowflake.x = Math.random()* stage.stageWidth;
                                  nicesnowflake.y = - stage.stageHeight + 100;
                                  nicesnowflakearray.push(nicesnowflake);
                                  stage.addChild(nicesnowflake);
                                  trace(nicesnowflakearray.length);
                                  for (var i:Number = 0; i < nicesnowflakearray.length; i++){
                                            nicesnowflakearray[i].addEventListener(Event.ENTER_FRAME, snowhit);
                        public function snowhit(event:Event) : void {
                                  if (nicesnowflakearray[0].y >= 460){
                                            if (nicesnowflakearray[0].y == stage.stageHeight) {
                                            nicesnowflakearray.splice(nicesnowflakearray.indexOf(nicesnowflake), 1);
                                  //if (this.hitTestObject(nicesnowflake)){
                                            //trace("hit");
    I am also fiddling with the collision, but I believe that it would sort itself out when I deal with the array pop and depop properly. However I'm pasting it anyway in case the issue is subtly hidden somewhere I'm not looking for it. And here is the child class:
    public class Head extends Main {
                        public function Head(){
                                  if (false){
                                            super();
                                  this.stop();
    So like what happens at the moment is that the array gets populated by the first object that spawns, but there is two objects on the stage, then when the objects reach stage.460y mark the array splices() the one object away and displays an error:
    "#1010: A term is undefined and has no properties.
              at Main/snowhit()"
    then when the next object spawns, it repeats the process. Why does it trace the array.length as "1, 1, 2, 2, 3, 3, 4, 4, 5, 5, etc" until the despawn point and then goes on to display an error and then starts from 1 again, because if the array length is more than one object at the time when the first object of the array gets spliced away, shouldn't it go on as usual, since there are other objects in the array?
    Thank you very much to whomever will read this through.

    There are multiple problems:
    1. You should add eventlisteners for your objects only once, but you add eventlisteners every time your timer runs to all of your snowflakes, again and again:
                                  for (var i:Number = 0; i < nicesnowflakearray.length; i++){
                                            nicesnowflakearray[i].addEventListener(Event.ENTER_FRAME, snowhit);
    change it to
    nicesnowflake.addEventListener(Event.ENTER_FRAME, snowhit);
    I don`t see why its even necessary to employ this snowflakearray, it would be much straight forward if you simply let the snowflakes take care of themselves.
    2. Then you have to change your enterframe function accordingly
    public function snowhit(event:Event) : void {
                                  if (e.currentTarget.y >= 460){
                                            if (e.currentTarget.y == stage.stageHeight) {
                                            e.currentTarget.removeEventlistener(Event.ENTER_FRAME, snowhit);
                                            removeChild(e.currentTarget);
    3.
                                  //if (this.hitTestObject(nicesnowflake)){
                                            //trace("hit");
    since "this" is a reference to the Main class (root) it surely won`t function as you intend it to.
                                  if (false){
                                            super();
    makes no sense to use a condition that can never be true

  • How Can i clean my memory and make my imac more faster ?

    I am new user in mac i have imac 4 g ram  and need a way to clean the memory and make my imac more faster ...

    You can't "clean" RAM. If the "storage" space on your hard drive isn't enough then put in a larger hard drive or delete any of your data you no longer need or can store on an external drive. Beyond this I cannot say because you have not provided enough information such as the amount of installed RAM, Capacity of your hard drive and the amount of available space on the hard drive, the specific iMac model you have.
    You can try reinstalling Lion:
    Reinstalling Lion Without the Installer
    Boot to the Recovery HD: Restart the computer and after the chime press and hold down the COMMAND and R keys until the menu screen appears. Alterhatively, restart the computer and after the chime press and hold down the OPTION key until the boot manager screen appears. Select the Recovery HD and click on the downward pointing arrow button.
    Repair the Hard Drive and Permissions: Upon startup select Disk Utility from the main menu. Repair the Hard Drive and Permissions as follows.
    When the recovery menu appears select Disk Utility. After DU loads select your hard drive entry (mfgr.'s ID and drive size) from the the left side list.  In the DU status area you will see an entry for the S.M.A.R.T. status of the hard drive.  If it does not say "Verified" then the hard drive is failing or failed. (SMART status is not reported on external Firewire or USB drives.) If the drive is "Verified" then select your OS X volume from the list on the left (sub-entry below the drive entry,) click on the First Aid tab, then click on the Repair Disk button. If DU reports any errors that have been fixed, then re-run Repair Disk until no errors are reported. If no errors are reported click on the Repair Permissions button. Wait until the operation completes, then quit DU and return to the main menu.
    Reinstall Lion: Select Reinstall Lion and click on the Continue button.
    Note: You can also re-download the Lion installer by opening the App Store application. Hold down the OPTION key and click on the Purchases icon in the toolbar. You should now see an active Install button to the right of your Lion purchase entry. There are situations in which this will not work. For example, if you are already booted into the Lion you originally purchased with your Apple ID or if an instance of the Lion installer is located anywhere on your computer.
    However, if your computer doesn't have enough RAM or your hard drive is full, then reinstalling won't help.

  • SHARED MEMORY AND DATABASE MEMORY giving problem.

    Hello Friends,
    I am facing problem with EXPORT MEMORY and IMPORT MEMORY.
    I have developed one program which will EXPORT the internal table and some variables to the memory.This program will call another program via background job. IMPORT memory used in another program to get the first program data.
    This IMPORT command is working perfect in foreground. But  it is not working in background.
    So, I have reviewed couple of forums and I tried both SHARED MEMORY AND DATABASE MEMORY.  But no use. Still background is giving problem.
    When I remove VIA JOB  parameter in the SUBMIT statement it is working. But i need to execute this program in background via background job. Please help me . what should I do?
    pls find the below code of mine.
    option1
    EXPORT TAB = ITAB
           TO DATABASE indx(Z1)
                FROM   w_indx
                CLIENT sy-mandt
                ID     'XYZ'.
    option2
    EXPORT ITAB   FROM ITAB
      TO SHARED MEMORY indx(Z1)
      FROM w_indx
      CLIENT sy-mandt
      ID 'XYZ'.
       SUBMIT   ZPROG2   TO SAP-SPOOL
                      SPOOL PARAMETERS print_parameters
                       WITHOUT SPOOL DYNPRO
          *_VIA JOB name NUMBER number*_
                       AND RETURN.
    ===
    Hope every bidy understood the problem.
    my sincere request is ... pls post only relavent answer. do not post dummy answer for points.
    Thanks
    Raghu

    Hi.
    You can not exchange data between your programs using ABAP memory, because this memory is shared between objects within the same internal session.
    When you call your report using VIA JOB, a new session is created.
    Instead of using EXPORT and IMPORT to memory, put both programs into the same Function Group, and use global data objects of the _TOP include to exchange data.
    Another option, is to use SPA/GPA parameters (SET PARAMETER ID / GET PARAMETER ID), because SAP memory it is available between all open sessions. Of course, it depends on wich type of data you want to export.
    Hope it was helpful,
    Kind regards.
    F.S.A.

  • Resource utilization alerts shell scripts, Memory and CPU

    Hi All,
    I am using the Oracle Enterprise Linux verison 4.6 x64 for Oracle 10g database. I want to implement some alerts for SWAP space thresholds, CPU comsumption and memory usage thresholds. For example I want an email alert is SWAP space is used 90%. Memory usage is more than 85%. CPU is 80% busy.
    I am sure that you Gurus must have implemented this kind of alerts through some tools or shell scripts so seeking your help to implement these.
    Thanks
    Naveed

    Hi Naveed,
    Firstly, I can tell you that Oracle has its own SNMP MIBs which can be used by SNMP to send trap (alerts) to various SNMP monitoring systems. If however, you are a bit like myself and perhaps don't have the cash or the need to use something so fancy, you can use Shell Scripting or in my case something like PERL.
    By using commands such as 'grep', 'awk' and 'less' (to name but a few) on can monitor simple things such as diskspace or memory.
    For example, if I were to look for diskspace usage on a partition known as u01 I could pipe in the output of 'df -h' to PERL, then run a regular expression on it looking for anything greater than 80%.
    Example of PERL code;
    # read in df -h command, looking for the partition /u01
    open(DISKUSAGE, "df -h | grep u01|");
    $diskUse = <DISKUSAGE>; #read its input
    chomp $diskUse; #remove last characterThis reads in the command into a 'buffer' in which you can search for things, i.e. to see if the disk usage is equal to, or greater than 80% from the variable $diskUse. As a starter I would look at splitting the string on empty spaces into an array for example, and reading the array index containing your disk usage. This can also be done with a Shell Script.
    Perl also has a very easy to use SMTP module which can be used for sending E-Mails. Do a search for Net::SMTP on google on how to use it. It really is very simple.
    I'm not expert on this stuff, and I'm sure there are many other and better ways of doing such things, but I hope this at least points you in the right direction.
    Best of luck,
    Conor

  • IMac 333Mhz memory and slots

    I recently pick up an iMac 333MHz (tray loading)with 64 mb of memory and would eventually like to get it to OSX.
    I have located the main memory slot according to the instructions, but understand that their is a second memory slot. I have been unable to locate it or find instructions on how to add additional memory to the second slot. I understand that the 333MHz iMac can have 512mb (2 x 256mb). If anyone has instructions on how to access the second memory slot and also a resource to get memory for the iMac I would appreciate it.

    I recently pick up an iMac 333MHz (tray loading)with 64 mb of memory and would eventually like to get it to OSX.
    Note... The lower slot requires low profile memory. You can put the low profile memory in the upper slot if you want.
    From what I read, most people feel the 333 machine can take 512meg of memory.
    Be sure to update the firmware before moving to Mac OS X 10.2 or 10.3.
    You should verify that you have the latest firmware, before installing new software. See the system profiler for details. What firmware do you need?
    http://docs.info.apple.com/article.html?artnum=86117
    Mac OS X takes about 4gig of harddrive space.
    This will require a minimum of 128meg of ram. You may put 512meg of ram in this machine. There are two memory slots. One must be Low Profile memory. Be sure you can return your memory cards. iMac memory cards are finicky.
    http://eshop.macsales.com/shop/memory/iMac-G3-G4/
    All the tray loading iMac g3's, models a-d, are constructed the same.
    Here is a good disassembly page:
    http://www.macopz.com/columns/imacrepair/disassembly.html
    The second article in this series has information on replacing the battery:
    http://discussions.apple.com/thread.jspa?messageID=2584291
    The tray loading iMac requires the boot partition to be within 8gig. Since there are hidden partition before the first visible partition, people recommend that you make the first visible partition 7.5 gig to 7.9gig. The machines support upto a 128gig Parallel ATA drive.
    You should be able to use Unix symbolic links to 'move' some directory like /Users to the second visible partition.
    Robert

  • Problem actually viewing files in phone memory and...

    When I browse the phone memory and the memory card using the file manager a lot of the files show empty but I know there are things in them.  I also copied the memory card to my computer and looked and have the same problem...even after selecting to view hidden files as well.  The folders just show empty.
    Also...my contacts are set to be saved in phone memory...yet I cannot find a "contacts" folder anywhere in phone memory.  The memory card has a "contacts" folder but it appears empty when viewing it.
    Any ideas?
    Solved!
    Go to Solution.

    The Nokia File Manager gives access to just a fraction of the phone memory, and several directories on both the phone and the memory card are write-protected and also typically read- and view-protected.  (The workaround for the card is to put the phone in Mass Storage mode, or to use an external card reader.)  But in my experience, there really are lots of empty directories!  I figure it's a side effect of Symbian's 10+ year history.  If you really want to see what's on your phone, install a third party file browser like Y-Browser (http://www.drjukka.com/YBrowser.html , scroll down to the bottom) or X-Plore (http://www.lonelycatgames.com/?app=download ).  Even better, install Mobile Guard (http://www.netqin.com/en/guard/symbian/ ) for read access to protected directories like C:\Private and C:\Sys.  (Mobile Guard is a suite of programs, some of which may run automatically like a download manager...so don't be alarmed by the pop-ups.  You can turn most of them off.)
    Your contacts are stored somewhere in C:\Private, as well as email, SMS messages, etc.  That's why you can't find them.  This is the nature of Symbian's "System Security" feature.  Hope that helps!

  • Saving a Time Stamp In Memory and retrieving it

    I would like to store the time stamp in Flash memory. The memory is 8 bit. So how would I store it in byte format to the memory and retrieve the memory, then put it back together to get the time stamp back...
    thanks

    What best you can do is consider some reference time and store the difference i.e. no of seconds. At the time of retrieval also you can do the same.
    Kudos are always welcome if you got solution to some extent.
    I need my difficulties because they are necessary to enjoy my success.
    --Ranjeet

Maybe you are looking for

  • Why can't I open "mail" from "home page" any more?

    Until today I could open yahoo! mail from a link in the upper left hand corner of my "home page." The link is gone and now I have to Google "Yahoo! Mail" to open mail. From mail I can go to home page by clicking on the house icon but not vice versa =

  • DB Comparing Tool

    Hello, Can some one tell me a tool which will help to identify the differences between two databases? i.e Table Structures, Changes in data etc., Sorry...I dont think this is a correct forum to ask this question. But I dont know where to ask this. So

  • Compilation in CVI2013

    Hello, I am still discovering all those nice features of CVI2013, so here I am with two questions on compilation: 1) On the Build Options / Configuration Options panel, the checkbox 'Show warning flags in Build Output window' does not seem to have an

  • Catalog application on IOS

    Hi All, My customer has implemented an E-Commerce webshop solution which integrates to CRM (using TREX etc.). However, there is a recent requirement to view the webshop on an iPad. Most of the webshop works As Is but the pictures in the catalog appli

  • Cannot load illustrator version 15.0.2

    Every time I try to upload latest version it errors out.