Servlet waiting for threads to end

Hi !
To make our web app more efficient, we wanted to delegate some work to threads. But it seems that the servlet engine (or something else) is waiting for all spawned threads to end before sending the response back to the browser. So, if a servlet finishes execution but the threads it spawned are still working, I do not get the next page in the browser. I only do when all threads are done. So my question is : is this a normal behavior of the servlet engine ? If so, why ? If not, what could I have done wrong, what should I look out for when using threads inside servlets ?
Thanks,
Martin

Yup I agree with the other guys.
I am building a servlet that has 2 threads running continuously (looping), and they do not bother the requests/responses at all. But in your case if I understand correctly, you spawn threads from the request. You must have some kind of interaction between them.
Are you sure you are spawning the code in a separate thread??. I use something like this:
class Mythread extends Thread
public void run()
// code here
THread threadobject = new Mythread();
threadobject.start(); //( DO NOT CALL THE run() method, but the start() method.)
Are your threads sleeping (to not hog up all CPU power???). Are your threads higher priority then the normal?.
See ya,
Andre

Similar Messages

  • Update of jlabel does not happen when i wait for thread to finish (join())

    gurus please help.
    I have a main application which in actionevent calls a thread, that thread calls parent method to update ths status in jlabel, but when i use thread.join() to wait for process to complete, the jlabel does not get updated, please tell me how can i update the jlabel, i have to wait for thread to finish and during run i need to update the jlabel.
    thanks

    hi camickr and gurus:
    here is the code:
    notice after pressing the Process button, the label is being updated but its not working. I called the processnow() method directly and also by thread, but in thread I have to wait until it finishes using join() but still does not work, please help. Thanks
    package label;
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import java.text.*;
    import javax.swing.border.*;
    import javax.swing.*;
    import javax.swing.table.*;
    import javax.swing.event.*;
    public class thePanel extends JDialog {
      private DefaultTableModel tableModel = null;
      private JTable theTable = new JTable();
      private JScrollPane scrollPane = new JScrollPane();
    JPanel tPanel = new JPanel();
      private Border mainBorder;
      private BorderLayout borderLayout1 = new BorderLayout();
      private BorderLayout borderLayout2 = new BorderLayout();
      private BorderLayout borderLayout3 = new BorderLayout();
      private BorderLayout borderLayout4 = new BorderLayout();
      private JPanel statusPanel = new JPanel();
      private JPanel buttonPanel = new JPanel();
      private JPanel lowerPanel = new JPanel();
      private JLabel statusBar = new JLabel();
      private JButton processButton = new JButton("Process");
      public JButton closeButton = new JButton("Close");
      boolean image = true;
      theProcess processThread;
      Vector tableData = new Vector();
      ImageIcon Image = new ImageIcon("image.gif");
      ImageIcon oImage= new ImageIcon("oimage.gif");
      boolean errorOcurred=false;
      String statusMessage;
      public thePanel() {
        try {
         jbInit();
        } catch(Exception e) {
          e.printStackTrace();
      private void jbInit() throws Exception {
        tPanel.setPreferredSize(new Dimension(800,424));
        mainBorder = new TitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.RAISED)," ");
        statusPanel.setBorder(BorderFactory.createEtchedBorder());
        tPanel.setBorder(mainBorder);
        tPanel.setLayout(borderLayout1);
        scrollPane.getViewport().add(theTable, null);
        tPanel.add(scrollPane,  BorderLayout.CENTER);
        // status
        statusPanel.setLayout(borderLayout2);
        statusPanel.setBorder(BorderFactory.createEmptyBorder());
        statusBar.setAlignmentX((float) 0.5);
        statusBar.setBorder(BorderFactory.createLoweredBevelBorder());
        statusBar.setMaximumSize(new Dimension(600, 21));
        statusBar.setMinimumSize(new Dimension(600, 21));
        statusBar.setPreferredSize(new Dimension(600, 21));
        statusPanel.add(statusBar, BorderLayout.SOUTH);
        // buttons
        processButton.setPreferredSize(new Dimension(70,25));
        processButton.addActionListener(new java.awt.event.ActionListener() {
          public void actionPerformed(ActionEvent e) {
            process_actionPerformed(e);
        closeButton.setPreferredSize(new Dimension(70,25));
        buttonPanel.setLayout(borderLayout3);
        buttonPanel.setBorder(BorderFactory.createRaisedBevelBorder());
        buttonPanel.add(processButton,BorderLayout.WEST);
        buttonPanel.add(new JPanel());
        buttonPanel.add(closeButton,BorderLayout.EAST);
        // lower panel
        lowerPanel.setLayout(borderLayout4);
        lowerPanel.setBorder(BorderFactory.createEmptyBorder());
        lowerPanel.add(statusPanel, BorderLayout.WEST);
        lowerPanel.add(buttonPanel, BorderLayout.EAST);
        tPanel.add(lowerPanel, BorderLayout.SOUTH);
        theTable.setAutoCreateColumnsFromModel(true);
        theTable.setColumnSelectionAllowed(false);
        theTable.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
        theTable.getTableHeader().setReorderingAllowed(false);
    getContentPane().add(tPanel);pack();
        getinfo();
    show();
      private void prepairTable(){
        tableModel = new DefaultTableModel(){
                          public boolean isCellEditable(int row, int col)
                            { return false; }};
        tableModel.addColumn("text 1");
        tableModel.addColumn("text 2");
        tableModel.addColumn("text 3");
        tableModel.addColumn("text 4");
        tableModel.addColumn("text 5");
        theTable.setModel(tableModel);
      } // end method (prepairTable)
      public void refreshTable() {
        prepairTable();
      public void getinfo() {
        try {
            refreshTable();
            tableModel.addRow(new Object[]{"3465465555","0123456789",new Date(1135022905196L),"0100000","errror message","sssssss"});
            tableModel.addRow(new Object[]{"8949344562","0324354549",new Date(1134511763683L),"0166600","errror mes666e","ddddddd"});
    setStatusMessage("ready to process, select record and click Process button to process record");
          errorOcurred = false;
        } catch (Exception ex) {
          errorOcurred = true;
          ex.printStackTrace();
        } // End try
      private void process_actionPerformed(ActionEvent e) {
        try {
          if(theTable.getSelectedRows().length > 0) {
    //        processThread = null;
    //        processThread = new theProcess(this);
    //        processThread.start();
    processnow();
            System.out.println("........finished now.........");
          } else {
        } catch (Exception ex) {
          ex.printStackTrace();
      public void processnow() {
        try {
          int[] selectedRows = null;
          int totalSelected = 0;
          setStatusMessage("processing " + totalSelected + " selected records...");Thread.sleep(1500);
          selectedRows = theTable.getSelectedRows();
          totalSelected = selectedRows.length;
          for(int i = 0; i < totalSelected ; i++){
            setStatusMessage("processing " + (i+1) + " of " + totalSelected + " selected records...");
            System.out.println(".......................row: "+selectedRows);
    Thread.sleep(2500);
    System.out.println("........fins...........");
    errorOcurred = false;
    } catch (Exception ex) {
    errorOcurred = true;
    ex.printStackTrace();
    } // End try
    public void setStatusMessage(String message) {
    statusMessage=message;
    SwingUtilities.invokeLater(new Runnable() {
    public void run() {
    if(image)
    statusBar.setIcon(Image);
    else
    statusBar.setIcon(oImage);
    statusBar.setText(statusMessage);
    statusBar.update(statusBar.getGraphics());
    public static void main(String[] args){
    new thePanel();
    } // class
    package label;
    import java.lang.Runnable;
    public class theProcess implements Runnable {
    private thePanel parent;
    public theProcess(thePanel xparent){
    parent = xparent;
    } // end constructor
    public void start() {
    try {
    Thread thisThread = new Thread(this);
    thisThread.start();
    thisThread.join();
    } catch(Exception ex) {
    ex.printStackTrace();
    } // end method (start)
    public void run(){
    try {
    parent.processnow();
    } catch (Exception ex){
    ex.printStackTrace();
    } // end try
    } // end method (run)
    } // end class

  • Media Recovery Waiting for thread 1 sequence (in transit)

    I have rebuilt our standby database using an rman duplicate since it was missing many archive logs.
    Following the duplicate, the standby is now almost in sync with the primary. Logs are shipping across but are not being applied in a timely manner. How long should it take for an archive log from the primary to be applied to the standby?
    I need to know this so that a proper script can be set up to check the primary and standby. At the moment they are never exactly in sync - always one sequence number behind the primary.
    Why is the standby is not applying in a timely manner?
    From the alert log:
    Media Recovery Waiting for thread 1 sequence 11278 (in transit)
    The log seems to be "in transit" for a long time
    PRIMARY:
    SQL> select max (sequence#) current_seq from v$log;
    CURRENT_SEQ
    11278
    SB:
    SQL> select MAX (SEQUENCE#), APPLIED FROM V$ARCHIVED_LOG where APPLIED ='YES' GROUP BY APPLIED;
    MAX(SEQUENCE#) APP
    11277 YES
    ALERT LOG:
    RFS[2]: Archived Log: '/backup/prod/log_1_11277_704816194.dbf'
    Primary database is in MAXIMUM PERFORMANCE mode
    Mon Nov 1 15:22:01 2010
    Media Recovery Log /backup/prod/log_1_11272_704816194.dbf
    Mon Nov 1 15:26:49 2010
    Media Recovery Log /backup/prod/log_1_11273_704816194.dbf
    Mon Nov 1 15:29:54 2010
    Media Recovery Log /backup/prod/log_1_11274_704816194.dbf
    Mon Nov 1 15:34:18 2010
    Media Recovery Log /backup/prod/log_1_11275_704816194.dbf
    Mon Nov 1 15:36:42 2010
    Media Recovery Log /backup/prod/log_1_11276_704816194.dbf
    Mon Nov 1 15:39:43 2010
    Media Recovery Log /backup/prod/log_1_11277_704816194.dbf
    Mon Nov 1 15:42:34 2010
    Media Recovery Waiting for thread 1 sequence 11278 (in transit)
    I should add that I understand that for the Primary and Standby to be out by one log is not cause for concern (they are applying). Its just that I wanted to script a check that would compare them both, and and the moment they are never equal - when I understand that they should be and that the logs should be applied almost immediately.
    Edited by: Dan A on Nov 1, 2010 4:36 PM

    How long should it take for an archive log from the primary to be applied to the standby?depends on network speed also.
    make sure the archives are shipped to standby location.
    PRIMARY:
    SQL> select max (sequence#) current_seq from v$log;
    CURRENT_SEQ
    11278(this is log not archivelog ) ..... :)SB:
    SQL> select MAX (SEQUENCE#), APPLIED FROM V$ARCHIVED_LOG where APPLIED ='YES' GROUP BY APPLIED;
    MAX(SEQUENCE#) APP
    11277 YES
    Hi check is MRP started or not?
    primary database you need not check current sequence, check last generated sequence..not current sequence.
    current sequence is redo log which has been not yet archived
    I think everything is perfect here.. no issues.
    Hope you understood, let me know if not clear , thanks.

  • How to do custom dialog so it displays the dialog and waits for user to end

    I have an application that I want to create my own dialog screens. For example, the user cliks on one frame, and I want to open a window for the user to enter data, after the user finishes, he presses OK and then the main app continues.
    On the class that I open the dialog, I open it with:
    NewOkCancelDialog.abrePopup();
    System.out.println("Program should wait for the dialog to close");And the 'NewOkCancelDialog' class is defined like:
    public class NewOkCancelDialog extends javax.swing.JDialog {
    The constructor is like:
    public NewOkCancelDialog(java.awt.Frame parent, boolean modal) {
    super(parent, true);
    initComponents();
    this.setLocation(400,400);
    This methods are when the user activates the button and the popup closes..
    private void cierraPopupOk(){
    resultados.setciudad1(this.fld_ciudad1.getText());
    if (resultados.getciudad1length() < 3) {
    System.out.println("Error en la entrada!");
    } else {
    doClose(RET_OK);
    private void okButtonActionPerformed(java.awt.event.ActionEvent evt) {                                        
    cierraPopupOk();
    private void doClose(int retStatus) {
    returnStatus = retStatus;
    this.estaAbierto = false;
    setVisible(false);
    dispose();
    I would like to have the application in the first lines, after calling
    NewOkCancelDialog.abrePopup();
    to wait until the method doClose() in NewOkCancelDialog class is finnished. But right now, after the ...abrePopup() is called, it continues.
    What am I doing wrong? or what am I not doing?

    Use the "code" tags not the "bold" tags when posting code.
    But right now, after the ...abrePopup() is called, it continues.Well your posted code doesn't show this method so we don't know what you are doing in this method.
    Why are you using a static method to show the dialog? Normally the code would be:
    JDialog dialog = new CustomDialog();
    dialog.setVisible( true );
    But you are correct with the basic idea in that you need to use a modal dialog.

  • Wait for the execution end of a Thread

    Hi every body,
    How to make a program waiting the execution end of a thread,
    the instruction join did not work fine.
    Computation c = new Computation();
    Thread t = new Thread(c);
    t.start();
    t.join(); // here my thread dead
    System.out.println("done");
    Regards

    Did you try it without t.join?And t did its work fine in that case, but putting the join into the main thread caused t to not do anything?
    I can't say what's happening without more code, but two possibilities pop to mind:
    1) You changed something else, and join has nothing to do with it.
    2) You're syncing on t in a way that interferes with (or gets interference from) join (which also syncs on t).

  • Make a servlet wait for  a resource and respond based on the resource

    Hi,
    In my web application, my javascript code sends a request to a servlet for an image .
    In the server side, my servlet checks whether the image exists in a particular path, if it exists it sends the image
    as a response, else will wait in an infinite loop for the image. Once the image is available, it will exit the loop and will proceed further.
    Is my logic to put an infinite loop right .
    kindly provide me an alternative method if my logic is wrong.

    Your request may simply time out.
    Alternatively you can consider kicking off the image processing in the backend on first request and send a response back to the browser that would cause the browser to resend the request every 'x' seconds. You can achieve this by setting a metarefresh tag in your header or anyschronous javascript.
    ram.

  • Waiting for Thread to finish execution

    I have a program which uses a thread to copy files. While they are copying, a ProgressMonitor comes up displaying the current file being copied. After this has completed, my main program needs to be notified and go on with it's own code. Either I get the 'I'm done waiting!' message instantly, or not at all, instead of getting it after the thread completes. How do I do this?
    This is what I currently have
    // CLASS 1 //
    //...other code is here
    myMethod()
    ProgressMonitorDemo pmd = new ProgressMonitorDemo();
    while (!pmd.isDone())
    { wait(); }
    System.out.println( "I'm done waiting!" );
    }//Class 2 //
    import java.awt.*;
    import java.awt.event.*;
    import java.io.File;
    import javax.swing.*;
    public class ProgressMonitorDemo extends JPanel
      public final static int ONE_SECOND = 1000;
      private ProgressMonitor progressMonitor;
      private Timer timer;
      private LongTask task;
      public ProgressMonitorDemo()
        task = new LongTask();
        timer = new Timer( ONE_SECOND, new TimerListener() );
        progressMonitor = new ProgressMonitor( this, "Running a Long Task", "", 0, task.getLengthOfTask() );
        progressMonitor.setProgress( 0 );
        progressMonitor.setMillisToDecideToPopup( 2 * ONE_SECOND );
        task.go( );
        timer.start();
      public boolean isDone()
        return task.isDone();
       * The actionPerformed method in this class
       * is called each time the Timer "goes off".
      class TimerListener implements ActionListener
        public void actionPerformed( ActionEvent evt )
          progressMonitor.setProgress( task.getCurrent() );
          String s = task.getMessage();
          if( s != null )
            progressMonitor.setNote( s );
          if( progressMonitor.isCanceled() || task.isDone() )
            progressMonitor.close();
            task.stop();
            Toolkit.getDefaultToolkit().beep();
            timer.stop();
    }// CLASS 3 //
    import javax.swing.*;
    import java.io.*;
    import java.awt.dnd.DnDConstants;
    public class LongTask
      private int lengthOfTask;
      private int current = 0;
      private boolean done = false;
      private boolean canceled = false;
      private String statMessage;
      public LongTask()
        //Compute length of task...
        //In a real program, this would figure out
        //the number of bytes to read or whatever.
        lengthOfTask = 400;
       * Called from ProgressBarDemo to start the task.
      public void go( )
        final SwingWorker worker = new SwingWorker()
          public Object construct()
            current = 0;
            done = false;
            canceled = false;
            statMessage = null;
            return new CopyMove();
        worker.start();
       * Called from ProgressBarDemo to find out how much work needs
       * to be done.
      public int getLengthOfTask()
        return lengthOfTask;
       * Called from ProgressBarDemo to find out how much has been done.
      public int getCurrent()
        return current;
      public void stop()
        canceled = true;
        statMessage = null;
       * Called from ProgressBarDemo to find out if the task has completed.
      public boolean isDone()
        return done;
       * Returns the most recent status message, or null
       * if there is no current status message.
      public String getMessage()
        return statMessage;
       * The actual long running task.  This runs in a SwingWorker thread.
      class CopyMove
        private String currOldLoc, currNewLoc, type;
        CopyMove()
          while( current < lengthOfTask )
            try
              Thread.sleep( 1000 );
              current += Math.random() * 100; //make some progress
              if( current > lengthOfTask )
                current = lengthOfTask;
              statMessage = "Completed " + current + " out of " + lengthOfTask + ".";
            catch( Exception e )
              System.out.println( "<ERROR>: Long Task " + e.toString() );
    }

    I tried this but it froze...
    public void myMethod()
    ProgressMonitorDemo pmd = new ProgressMonitorDemo( );
    synchronized( pmd )
       try
         pmd.wait();  
       catch(Exception e){}
    System.out.println( "I'm done waiting!" );
    }Class 2
    class CopyMove
      private String currOldLoc, currNewLoc, type;
      CopyMove()
        while( current < lengthOfTask )
          try
            Thread.sleep( 1000 );
            current += Math.random() * 100; //make some progress
            if( current > lengthOfTask )
              current = lengthOfTask;
            statMessage = "Completed " + current + " out of " + lengthOfTask + ".";
          catch( Exception e )
            System.out.println( "<ERROR>: Long Task " + e.toString() );
        synchronized(this)
          notifyAll();

  • Standby media recovery waiting for inactive thread

    Hi,
    Please let me know any idea on this scenario. Thanks.
    Environment:
    Oracle 11.2.0.2
    primary: 3 node RAC
    standby: 3 node RAC
    Problem:
    there is thread 5 (not registered instance or did not show in srvctl) that generates archivelog. but the lag apply stopped because of this when the instance (of thread 5) is shutdown.
    question: somehow an instance is registered in the cluster but in srvctl only 3 instance is running. it should have 4 instance but 1 is not running. How can I remove the thread 5 so when someone startup then shutdown instance#4 it will not create archivelog that will stopped the apply of archivelog in standby.
    note: this is perf environment server so someone and "other" DBA is accessing this environment which I am not aware what are they doing with the cluster.
    looking in alert log file: - it is waiting for thread 5 sequence 510. But the instance is down so log is not shipped to standby database and this resulted to lag in other threads.
    Sat Aug 03 18:54:47 2013
    Media Recovery Log +FLASH/dgjmspl/archivelog/2013_08_01/thread_1_seq_13718.1544.822333555
    Media Recovery Log +FLASH/dgjmspl/archivelog/2013_08_01/thread_2_seq_17665.22678.822315375
    Media Recovery Log +FLASH/dgjmspl/archivelog/2013_08_01/thread_3_seq_15465.14138.822313997
    Media Recovery Waiting for thread 5 sequence 510
       THREAD# LAST_SEQ_RECEIVED LAST_SEQ_APPLIED
             1             13745            13717
             2             17728            17664
             3             15527            15464
             5               509              509
    what I did is:
    1. primary (asm copy to file system)
    2. scp primary to standby
    3. standby (file system copy to asm)
    4. rman target / -> catalog archivelog <thread 5 sequence 510)
    5. then looking into alert log file; it performed media recovery
    Sat Aug 03 23:03:13 2013
    Media Recovery Log +FLASH/dgjmspl/archivelog/2013_08_01/thread_1_seq_13718.1544.822333555
    Media Recovery Log +FLASH/dgjmspl/archivelog/2013_08_01/thread_2_seq_17665.22678.822315375
    Media Recovery Log +FLASH/dgjmspl/archivelog/2013_08_01/thread_3_seq_15465.14138.822313997
    Media Recovery Waiting for thread 5 sequence 510
    Sat Aug 03 23:15:21 2013
    Media Recovery Log +FLASH/dgjmspl/archivelog/2013_08_01/thread_5_seq_510
    Sat Aug 03 23:15:32 2013
    Media Recovery Log +FLASH/dgjmspl/archivelog/2013_08_01/thread_3_seq_15466.10925.822316315
    Sat Aug 03 23:17:18 2013
    Media Recovery Log +FLASH/dgjmspl/archivelog/2013_08_01/thread_2_seq_17666.853.822333143
    Sat Aug 03 23:18:39 2013
    Media Recovery Log +FLASH/dgjmspl/archivelog/2013_08_01/thread_3_seq_15467.834.822333553
    Sat Aug 03 23:20:54 2013

    in Standby, thread 4 and 5 are both UNUSED, and size is incorrect (not equal to other redo log). I want to recreate it but cannot drop redo log. I follow Doc ID 740675.1.
    any idea what are the missing steps? thanks.
    ORA-01624: needed for crash recovery of instance UNNAMED_INSTANCE_5 (thread 5)
    select group#,thread#,archived,status,bytes from v$log;
    primary DB:
        GROUP#    THREAD# ARC STATUS                BYTES
             1          1 YES INACTIVE         1073741824
             2          1 YES INACTIVE         1073741824
             3          2 NO  CURRENT          1073741824
             4          2 YES INACTIVE         1073741824
             5          3 YES INACTIVE         1073741824
             6          3 YES INACTIVE         1073741824
             7          2 YES INACTIVE         1073741824
             8          1 NO  CURRENT          1073741824
             9          3 NO  CURRENT          1073741824
            10          4 YES INACTIVE         1073741824
            11          4 NO  CURRENT          1073741824
        GROUP#    THREAD# ARC STATUS                BYTES
            12          4 YES INACTIVE         1073741824
            13          5 YES INACTIVE         1073741824
            14          5 YES INACTIVE         1073741824
            15          5 NO  CURRENT          1073741824
    standby DB:
        GROUP#    THREAD# ARC STATUS                BYTES
             1          1 YES INACTIVE         1073741824
             2          1 YES INACTIVE         1073741824
             3          2 NO  CURRENT          1073741824
             4          2 YES INACTIVE         1073741824
             5          3 YES INACTIVE         1073741824
             6          3 YES INACTIVE         1073741824
             7          2 YES INACTIVE         1073741824
             8          1 NO  CURRENT          1073741824
             9          3 NO  CURRENT          1073741824
            10          4 YES INACTIVE         1073741824
            11          4 NO  CURRENT          1073741824
        GROUP#    THREAD# ARC STATUS                BYTES
            12          4 YES INACTIVE         1073741824
            13          5 YES INACTIVE         1073741824
            14          5 YES INACTIVE         1073741824
            15          5 NO  CURRENT          1073741824

  • Solaris 10 instalation in Guest Domain - Timed out waiting for TFTP reply

    I have the next trouble
    I have a Sun Fire T1000 and i want install two Guest LDOM's with Solaris10 in each one, I Install the LDOM Manager 1.0.3 and the service is "online" also the another services needed
    First Setup the 2 Guest LDOM's in the primary Domain sucesfully .... here is a desc of the configuration.
    # ldm list-bindings
    NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME
    primary active -n-cv SP 4 1G 0.1% 2h 14m
    MAC
    00:14:4f:a7:85:1e
    VCPU
    VID PID UTIL STRAND
    0 0 0.2% 100%
    1 1 0.2% 100%
    2 2 0.1% 100%
    3 3 0.1% 100%
    MAU
    ID CPUSET
    0 (0, 1, 2, 3)
    MEMORY
    RA PA SIZE
    0x8000000 0x8000000 1G
    VARIABLES
    diag-switch?=true
    security-#badlogins=0
    IO
    DEVICE PSEUDONYM OPTIONS
    pci@780 bus_a
    pci@7c0 bus_b
    VCC
    NAME PORT-RANGE
    primary-vcc0 5000-5100
    CLIENT PORT
    aplica_srss1@primary-vcc0 5001
    aplica_prod@primary-vcc0 5000
    VSW
    NAME MAC NET-DEV DEVICE MODE
    primary-vsw0 00:14:4f:a7:85:1e bge0 switch@0
    PEER MAC
    vnet2@aplica_srss1 00:14:4f:fb:f4:e0
    vnet1@aplica_prod 00:14:4f:fb:2c:60
    VDS
    NAME VOLUME OPTIONS DEVICE
    primary-vds0 vol1 /dev/dsk/c0t0d0s3
    CLIENT VOLUME
    vdisk1@aplica_prod vol1
    VCONS
    NAME SERVICE PORT
    SP
    NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME
    aplica_prod active -t--- 5000 4 2G 15% 9m
    MAC
    00:14:4f:fb:2c:60
    VCPU
    VID PID UTIL STRAND
    0 4 35% 100%
    1 5 0.0% 100%
    2 6 7.0% 100%
    3 7 84% 100%
    MEMORY
    RA PA SIZE
    0x8000000 0x48000000 2G
    VARIABLES
    auto-boot?=true
    boot-device=
    use-nvramrc?=true
    NETWORK
    NAME SERVICE DEVICE MAC
    vnet1 primary-vsw0@primary network@0 00:14:4f:fb:2c:60
    PEER MAC
    primary-vsw0@primary 00:14:4f:a7:85:1e
    vnet2@aplica_srss1 00:14:4f:fb:f4:e0
    DISK
    NAME VOLUME TOUT DEVICE SERVER
    vdisk1 vol1@primary-vds0 disk@0 primary
    VCONS
    NAME SERVICE PORT
    aplica_prod primary-vcc0@primary 5000
    NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME
    aplica_srss1 bound ----- 5001 24 13184M
    MAC
    00:14:4f:fb:ad:fb
    VCPU
    VID PID UTIL STRAND
    0 8 100%
    1 9 100%
    2 10 100%
    3 11 100%
    4 12 100%
    5 13 100%
    6 14 100%
    7 15 100%
    8 16 100%
    9 17 100%
    10 18 100%
    11 19 100%
    12 20 100%
    13 21 100%
    14 22 100%
    15 23 100%
    16 24 100%
    17 25 100%
    18 26 100%
    19 27 100%
    20 28 100%
    21 29 100%
    22 30 100%
    23 31 100%
    MEMORY
    RA PA SIZE
    0x8000000 0xc8000000 13184M
    VARIABLES
    auto-boot?=true
    boot-device=
    NETWORK
    NAME SERVICE DEVICE MAC
    vnet2 primary-vsw0@primary network@0 00:14:4f:fb:f4:e0
    PEER MAC
    primary-vsw0@primary 00:14:4f:a7:85:1e
    vnet1@aplica_prod 00:14:4f:fb:2c:60
    VCONS
    NAME SERVICE PORT
    aplica_srss1 primary-vcc0@primary 5001
    Then i mount the ISO images of The solaris OS 5/08, Later install the jumpstart server without troubles.... Here are the Configuration files needed for the properly setup of the service for a better guide

    # ./add_install_client -d -e 0:14:4f:fb:2c:60 -s Zolder:/var/jump_start/ sun4v
    cleaning up preexisting install client "0:14:4f:fb:2c:60"
    To disable 0:14:4f:fb:2c:60 in the DHCP server,
    remove the entry with Client ID 0100144FFB2C60
    To enable 0100144FFB2C60 in the DHCP server, ensure that
    the following Sun vendor-specific options are defined
    (SinstNM, SinstIP4, SinstPTH, SrootNM, SrootIP4,
    SrootPTH, and optionally SbootURI, SjumpCF and SsysidCF),
    and add a macro to the server named 0100144FFB2C60,
    containing the following option values:
    Install server (SinstNM) : Zolder
    Install server IP (SinstIP4) : 172.24.0.10
    Install server path (SinstPTH) : /var/jump_start/
    Root server name (SrootNM) : Zolder
    Root server IP (SrootIP4) : 172.24.0.10
    Root server path (SrootPTH) : /mnt/s0/Solaris_10/Tools/Boot
    Boot file (BootFile) : 0100144FFB2C60
    # cat /etc/inet/hosts // The Content of this file is exactly with ipnodes file
    127.0.0.1 localhost
    172.24.0.10 Zolder loghost
    172.24.0.9 primary-vsw0
    172.24.0.8 aplica_prod
    172.24.0.7 aplica_srss1
    # cat /etc/ethers
    00:14:4f:fb:2c:60 aplica_prod
    # cat /etc/bootparams
    aplica_prod root=Zolder:/mnt/s0/Solaris_10/Tools/Boot install=Zolder:/var/jump_start/ boottype=:in rootopts=:rsize=8192
    # cat /etc/dfs/dfstab
    share -F nfs -o ro,anon=0 /var/jump_start/
    share -F nfs -o ro,anon=0 /mnt/s0/Solaris_10/Tools/Boot
    share -F nfs -o ro,anon=0 /mnt/s1
    # ifconfig -a
    lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
    inet 127.0.0.1 netmask ff000000
    vsw0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
    inet 172.24.0.10 netmask fffffe00 broadcast 172.24.1.255
    ether 0:14:4f:a7:85:1e
    vsw0:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
    inet 172.24.0.9 netmask fffffe00 broadcast 172.24.1.255
    Here i plumb up the networks interfaces and setup the vsw0 device and change the MAC address of the vsw0 for the same of the bge0 device.
    Then i Log to a Guest LDOM aplica_prod
    ----------START CONSOLE 1-------------------------------
    # telnet localhost 5000
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    Connecting to console "aplica_prod" in group "aplica_prod" ....
    Press ~? for control options ..
    ----END CONSOLE 1----
    At the same time i open another console for startup the Guest LDOM aplica_prod i make a snoop of the vsw0 interface
    ---START CONSOLE 2---
    # ldm start aplica_prod
    LDom aplica_prod started
    -bash-3.00# snoop -d vsw0 | grep aplica_prod
    Using device /dev/vsw0 (promiscuous mode)
    ---END CONSOLE 2-----
    In the other console is produced the next exit
    ----START CONSOLE 1------
    Sun Fire(TM) T1000, No Keyboard
    Copyright 2008 Sun Microsystems, Inc. All rights reserved.
    OpenBoot 4.28.9, 2048 MB memory available, Serial #66792544.
    Ethernet address 0:14:4f:fb:2c:60, Host ID: 83fb2c60.
    Boot device: File and args:
    ERROR: boot-read fail
    Evaluating:
    Can't locate boot device
    {0} ok boot vnet1 install
    Boot device: /virtual-devices@100/channel-devices@200/network@0 File and args: install
    Requesting Internet Address for 0:14:4f:fa:82:17
    Requesting Internet Address for 0:14:4f:fa:82:17
    Timed out waiting for TFTP reply
    ---END CONSOLE 1-----
    in the console 2 the snoop generates an exit of the net traffic for the vsw0 device
    ----START CONSOLE 2--------
    primary-vsw0 -> aplica_prod RARP R 0:14:4f:fb:2c:60 is 172.24.0.8, aplica_prod
    aplica_prod -> BROADCAST TFTP Read "AC180008" (octet)
    primary-vsw0 -> aplica_prod RARP R 0:14:4f:fb:2c:60 is 172.24.0.8, aplica_prod
    Zolder -> aplica_prod TFTP Error: access violation
    aplica_prod -> BROADCAST TFTP Read "AC180008" (octet)
    Zolder -> aplica_prod TFTP Error: access violation
    aplica_prod -> BROADCAST TFTP Read "AC180008" (octet)
    Zolder -> aplica_prod TFTP Error: access violation
    aplica_prod -> BROADCAST TFTP Read "AC180008" (octet)
    Zolder -> aplica_prod TFTP Error: access violation
    aplica_prod -> BROADCAST TFTP Read "AC180008" (octet)
    Zolder -> aplica_prod TFTP Error: access violation
    aplica_prod -> BROADCAST TFTP Read "AC180008" (octet)
    ----END CONSOLE 2----
    Once start the snoop to produce messages make a ping to the IP's that should be assigned in the host file and all give a succesful answer BUT without start the Solaris 10 Instalation
    # ping 172.24.0.8
    172.24.0.8 is alive
    # ping 172.24.0.9
    172.24.0.9 is alive
    # ping 172.24.0.10
    172.24.0.10 is alive
    I really need help with this trouble ..and any help or advice will be thrully appreciated
    Thanks
    PD: any other required configuration file will be provided if is needed

  • Standby MRP0 process- Wait for Log

    Hi ,
    I have standby Oracle 11.2.0.3 DB on  AIx  server .
    After configuring Dataguard Log apply service fails on standby DB ..Following is resulf from my standy and primary DB .
    On Primary
    select process, status, sequence#, block# from v$managed_standby;
    PROCESS   STATUS        SEQUENCE#     BLOCK#
    ARCH      CLOSING              52          1
    ARCH      CLOSING              51          1
    ARCH      WRITING               2      38913
    ARCH      CLOSING              52          1
    LNS       WRITING              54       1003
    On Standby
    select process, status, sequence#, block# from v$managed_standby;
    PROCESS   STATUS        SEQUENCE#     BLOCK#
    ARCH      CONNECTED             0          0
    ARCH      CONNECTED             0          0
    ARCH      CONNECTED             0          0
    ARCH      CONNECTED             0          0
    RFS       RECEIVING                  2       6145
    RFS       IDLE                              54      1025
    RFS       IDLE                              0          0
    MRP0      WAIT_FOR_LOG      2          0
    On primaray Datagaurd status shows below output
    select  message from  V$DATAGUARD_STATUS order by TIMESTAMP;
    ARCH: Completed archiving thread 1 sequence 53 (1093671-1094088)
    ARCH: Beginning to archive thread 1 sequence 53 (1093671-1094088)
    LNS: Beginning to archive log 3 thread 1 sequence 54
    MESSAGE
    LNS: Completed archiving log 2 thread 1 sequence 53
    On Standby DB
    select  message from  V$DATAGUARD_STATUS order by TIMESTAMP;
    MESSAGE
    RFS[2]: Assigned to RFS process 659510
    RFS[2]: No standby redo logfiles available for thread 1
    RFS[3]: Assigned to RFS process 1110268
    RFS[3]: No standby redo logfiles available for thread 1
    Attempt to start background Managed Standby Recovery process
    MRP0: Background Managed Standby Recovery process started
    Managed Standby Recovery starting Real Time Apply
    Media Recovery Waiting for thread 1 sequence 2 (in transit)
    Please let me know what needs ti change for start log apply on physical standby .
    Thanks .
    Vaishali.

    Hi Shivananda,
    Please find below output ..
    I can tnsping both the database as well as when i try to connect from sqlplus to DB ..it was sucessful from both the side ...
    SQL> select severity,error_code,message from v$dataguard_status where dest_id=2;
    SEVERITY      ERROR_CODE
    MESSAGE
    Error               1034
    PING[ARC2]: Heartbeat failed to connect to standby 'IHISDR'. Error is 1034.
    Error               1034
    FAL[server, ARC2]: Error 1034 creating remote archivelog file 'IHISDR'
    Error               1089
    FAL[server, ARC2]: FAL archival, error 1089 closing archivelog file 'IHISDR'
    SEVERITY      ERROR_CODE
    MESSAGE
    Warning             1089
    LNS: Attempting destination LOG_ARCHIVE_DEST_2 network reconnect (1089)
    Warning             1089
    LNS: Destination LOG_ARCHIVE_DEST_2 network reconnect abandoned
    Error               1089
    Error 1089 for archive log file 1 to 'IHISDR'
    SEVERITY      ERROR_CODE
    MESSAGE
    Error               1089
    FAL[server, ARC0]: FAL archival, error 1089 closing archivelog file 'IHISDR'
    7 rows selected.
    Thanks .

  • Thread waiting for monitor - appending to previous post

    04:25:51,721 ERROR [ExecuteThread: '55' for queue: 'weblogic.kernel.Default'] com.documentum.web.common.Trace - SessionSynch@bc53ac[lockCount=2,lockOwner=Thread[ExecuteThread: '54' for queue: 'weblogic.kernel.Default',5,Thread Group for Queue: 'weblogic.kernel.Default']]: Timed out waiting in lock()
    java.lang.IllegalStateException: SessionSynch@bc53ac[lockCount=2,lockOwner=Thread[ExecuteThread: '54' for queue: 'weblogic.kernel.Default',5,Thread Group for Queue: 'weblogic.kernel.Default']]: Timed out waiting in lock()
    at com.documentum.web.common.SessionSync.lock0(SessionSync.java:181)
    at com.documentum.web.common.SessionSync.lock(SessionSync.java:68)
    at com.documentum.web.form.FormProcessor.lockSession(FormProcessor.java:2026)
    at com.documentum.web.form.FormProcessor.invokeMethod(FormProcessor.java:1614)
    at com.documentum.web.form.FormProcessor.fireOnExitEvent(FormProcessor.java:1463)
    at com.documentum.web.form.FormProcessor.fireOnExitEvent(FormProcessor.java:1459)
    at com.documentum.web.form.FormProcessor.fireOnExitEvent(FormProcessor.java:1438)
    at com.documentum.web.form.JumpOperation.execute(JumpOperation.java:80)
    at com.documentum.web.form.FormProcessor.openForm(FormProcessor.java:219)
    at com.documentum.web.form.WebformTag.doStartTag(WebformTag.java:127)
    at jsp_servlet._wdk.__historyreleased._jsp__tag0(__historyreleased.java:164)
    at jsp_servlet._wdk.__historyreleased._jspService(__historyreleased.java:125)
    at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:226)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:124)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
    at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:525)
    at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:454)
    at com.documentum.web.form.FormProcessor.dispatchURL(FormProcessor.java:2194)
    at com.documentum.web.form.FormProcessor.doFreshInclude(FormProcessor.java:1082)
    at com.documentum.web.form.FormProcessor.doFreshInclude(FormProcessor.java:1058)
    at com.documentum.web.form.FormProcessor.redirect(FormProcessor.java:1010)
    at com.documentum.web.form.FormProcessor.openForm(FormProcessor.java:257)
    at com.documentum.web.form.WebformTag.doStartTag(WebformTag.java:127)
    at jsp_servlet._webcomponent._library._locator.__locatorcontainer._jsp__tag2(__locatorcontainer.java:704)
    at jsp_servlet._webcomponent._library._locator.__locatorcontainer._jsp__tag1(__locatorcontainer.java:671)
    at jsp_servlet._webcomponent._library._locator.__locatorcontainer._jspService(__locatorcontainer.java:154)
    at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:226)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:124)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
    at com.documentum.web.servlet.ResponseHeaderControlFilter.doFilter(ResponseHeaderControlFilter.java:317)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
    at com.documentum.web.servlet.CompressionFilter.doFilter(CompressionFilter.java:84)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
    at com.documentum.web.env.WDKController.processRequest(WDKController.java:95)
    at com.documentum.web.env.WDKController.doFilter(WDKController.java:83)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3393)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2140)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2046)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1366)
    at weblogic.work.ExecuteRequestAdapter.execute(ExecuteRequestAdapter.java:21)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)

    Yes Jay, You are right. I have taken thread dump 10 samples and i could see that Thread State is not moving... I have increased the StuckThread Timeout to 800 from 600
    Thread dump 1/10 "ExecuteThread: '32' for queue: 'weblogic.kernel.Default'" daemon prio=3 tid=0x01b28350 nid=0xa9 waiting for monitor entry [0x71e3e000..0x71e3fc70]      at com.documentum.wp.app.WpRoleService.getRoleModel(WpRoleService.java:174)      - waiting to lock <0x9c986ed0> (a java.lang.Object)      at com.documentum.wp.app.WpRoleService.getUserRole(WpRoleService.java:92)      at com.documentum.wp.session.LoginUtil.validateUserDomain(LoginUtil.java:58)      at com.documentum.wp.session.WpAuthenticationService.login(WpAuthenticationService.java:70)      at com.documentum.web.formext.session.Login.authenticate(Login.java:1041)      at com.documentum.web.formext.session.Login.onLogin(Login.java:359)      at sun.reflect.GeneratedMethodAccessor119.invoke(Unknown Source)      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)      at java.lang.reflect.Method.invoke(Method.java:585)      at com.documentum.web.form.FormProcessor.invokeMethod(FormProcessor.java:1633)      at com.documentum.web.form.FormProcessor.invokeMethod(FormProcessor.java:1487)      at com.documentum.web.form.FormProcessor.fireActionEvent(FormProcessor.java:1303)      at com.documentum.web.form.RecallOperation.execute(RecallOperation.java:101)      at com.documentum.web.form.FormProcessor.processAction(FormProcessor.java:113)      at com.documentum.web.form.FormAction.processAction(FormAction.java:107)      at com.documentum.web.env.WDKController.doStartRequest(WDKController.java:191)      at com.documentum.web.env.WDKController.processRequest(WDKController.java:92)      at com.documentum.web.env.WDKController.doFilter(WDKController.java:83)      at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)      at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3393)      at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)      at weblogic.security.service.SecurityManager.runAs(Unknown Source)      at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2140)      at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2046)      at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1366)      at weblogic.work.ExecuteRequestAdapter.execute(ExecuteRequestAdapter.java:21)      at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)      at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)

  • Call unix script within Servlet - need to wait for completetion

    Hi,
    I have a servlet which grabs some information from my web form and then calls a unix script.
    This already works fine and does what i need it to do. I now need to add some functionality where i can get the servlet to wait for the unix script to complete before carrying on and then redirecting back to the user.
    the code i have for the current servlet is:
             * EXECUTE THE UNIX COMMAND.
            Runtime   oRuntime  =     Runtime.getRuntime();
            Process   oProcess   =     null;
            String[]      cmd          =     {"/bin/sh", "-c", sPath}; // UNIX
             * ERROR CODES 3 = File not found
            try
              oProcess = oRuntime.exec(cmd);
            catch(Throwable t)
              t.printStackTrace();
            }I am assuming i need some sort of wait method to handle this. Any help would be greatly appreciated.
    Thanks
    Graham

    ok.. you code is fine.. you can run any shell script or program using the exec() method. if you need to wait till the process finishes then you need to call the method waitFor() in class Process.. the method blocks the parent thread (servlet) till the sub process (your exec'd script or program) terminates.
    hope that solves your problem.. :-)
    Pls tell me one more thing.. are you using netBeans or Eclipse for executing the programs or you use standalone tomcat to deploy the application. I have problem in execing programs when i deploy in tomcat 5.5 and the same application works fine in netBeans 5.0. if you know pls help me too..
    Thanks,
    -- abdel Olakara.

  • Sending a request to a servlet without waiting for a response

    Hi,
    I have a client application that needs to send information to a servlet for processing. I would like to be able to send the information in question without having to wait for a response from the servlet. The reason for this is that I want to speed up the "sending" process. I know that http communication is based on TCP which is a connection-oriented network protocol, but I thought maybe there was a work-around to this.
    Thanks in advance for your help,
    Chris

    There r two ways to do this. First, if you can modify the application simply don't wait for the response do whatever you want and ignore the response. If you need the response in order to continue you will have to wait, but you can do this in a separate thread, while the main thread can do other things.
    Second, if you can't modify the application but you can modify the servlet, make the servlet respond as quick as possible, doing the work after having answered. Once again if the application needs the results of the process there is no way, you'll have to wait.

  • Waiting for the end of the process

    I'm executing a command using the Runtime class and I have to wait until the end of the command to get the results. But, I don't want to sleep the thread for some undeterminated time. I'd like it just to wait until the command ends.
    See in this code:
    try
    String result="";
    Process p = Runtime.getRuntime().exec("sh"); //open a new shell
    InputStream is = p.getInputStream();
    OutputStream os = p.getOutputStream();
    os.write("ifconfig -a | grep PROMISC -c\n".getBytes());
    os.flush();
    try {
    Thread.currentThread().sleep(1000);
    /*command should take some time to execute so wait for 10 secs .... I don't like this .... I would prefer waiting for the end the command ifconfig*/
    catch (InterruptedException eIE) { }
    while (is.available() > 0)
    result = result + ( (char) is.read());
    System.out.println(result);
    catch (IOException e) {
    System.out.println(e);

    AFAIK you can only detect if the shell process has finished, as sub-processes of the shell are not visible to your Java program (without resorting to OS-specific syscalls).
    You can write "exit" (or whatever terminates your shell) in the output stream as the last command - this will quit the shell as soon as all commands are finished, and that will be visible to your prog. Note that you should not run ANY of the shell commands in background then, as this could cause the shell to exit before the commands are finished (and, depending on the system, even signal the subprocesses).

  • JVM Stack trace shows waiting for monitor entry threads

    Hi everybody,
    I've got a problem with a java application wich connects to an Oracle 11g database and runs in a SJSAS 9.1, it freezes twice a day. The JVM trace shows threads in waiting for monitor entry state. This is an example of the most of threads:
    "httpSSLWorkerThread-8080-127" daemon prio=1 tid=0x0bdb2e30 nid=0x4930 waiting for monitor entry [0x10a9f000..0x10aa0da0]
    at com.sun.enterprise.resource.AbstractResourcePool.freeUnenlistedResource(AbstractResourcePool.java:1055)
    - waiting to lock <0x373c07a0> (a com.sun.enterprise.resource.SJSASResourcePool)
    at com.sun.enterprise.resource.AbstractResourcePool.resourceClosed(AbstractResourcePool.java:972)
    at com.sun.enterprise.resource.PoolManagerImpl.putbackResourceToPool(PoolManagerImpl.java:461)
    at com.sun.enterprise.resource.PoolManagerImpl.resourceClosed(PoolManagerImpl.java:401)
    at com.sun.enterprise.resource.LocalTxConnectionEventListener.connectionClosed(LocalTxConnectionEventListener.java:71)
    at com.sun.gjc.spi.ManagedConnection.connectionClosed(ManagedConnection.java:654)
    at com.sun.gjc.spi.base.ConnectionHolder.close(ConnectionHolder.java:201)
    at utilidades.db.BeanBaseDatos.desconectar(BeanBaseDatos.java:139)
    at utilidades.db.BeanBaseDatos.ejecutarConsulta5(BeanBaseDatos.java:354)
    at turnos.agenda.gestionAgenda.consultarProfesionalesReserva(gestionAgenda.java:3192)
    at turnos.servletControlMfPersonas.procesar(servletControlMfPersonas.java:243)
    at turnos.servletControlMfPersonas.doPost(servletControlMfPersonas.java:25)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
    at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:290)
    at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
    at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:270)
    at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
    at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
    at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
    at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:339)
    at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:261)
    at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:212)
    at com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:361)
    at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
    at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
    Thanks in advance.
    Pablo

    Hi,
    I'm using Sun Java System Application Server 9.1 under Red Hat Linux.
    Edited by: Paul-K on Jan 20, 2009 5:40 AM

Maybe you are looking for

  • Parameters for substr and dbms_lob.substr

    The syntax for substr in SQL functions and for the function in dbms_lob package is not matching and hence confusing for programmers. It will be less confusing if parameters for both functions are of the same order. In Sql functions the the syntax for

  • IDVD annoyance!!!

    Okay, so I'm burning a quicktime file onto a DVD through iDVD. The entire file is actually around 12.6 GB, so I had to buy a DVD with Dual Layer so that it could actually fit. When exporting this quicktime file out of Final Cut Pro, I used the best q

  • How to attach custom code after invoice save/modify

    Hi to all, i should solve techically this problem. I have an invoice document. After the modify/save of the invoice document, i should start a custom procedure that, line by line, read the invoice document just saved, and save the net value of each p

  • Gave up on connecting to Internet via AXP - now what?

    I was able to connect to the Internet via Airport Express w/out problems for a year & a half - SpeedStream 5200 modem thru DSL & IS providers here in Brazil. Then I upgraded the firmware to 6.3 in early January & got the endless "looking for pppoe ho

  • Keeping number of files in check is good for your Mac

    I just did what I thought was impossible - reduced the space on my hard drive from 2.6GB to 11GB! The Mac is flying again, hard drive is hardly audible, I am not missing anything useful, all the projects with roughs from stage 1 through 40 have been