You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ha...@apache.org on 2005/03/16 16:54:11 UTC

cvs commit: ws-axis/c/tests/utils/monitor/org/apache/test TestClientListener.java

hawkeye     2005/03/16 07:54:11

  Modified:    c/tests/utils/monitor/org/apache/test
                        TestClientListener.java
  Log:
  Added a timeout so if monitor fails to connect to server then it sleeps five times then
  retries
  
  Revision  Changes    Path
  1.3       +29 -8     ws-axis/c/tests/utils/monitor/org/apache/test/TestClientListener.java
  
  Index: TestClientListener.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/tests/utils/monitor/org/apache/test/TestClientListener.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- TestClientListener.java	17 Feb 2005 19:36:23 -0000	1.2
  +++ TestClientListener.java	16 Mar 2005 15:54:11 -0000	1.3
  @@ -16,7 +16,7 @@
    */
   
   public class TestClientListener implements Runnable {
  -
  +    private int CREATE_SOCKET_TO_SERVER_RETRY=5;
   	int listenPort = 0;
   	int servicePort = 0;
   	String serviceHost = null;
  @@ -72,13 +72,34 @@
   				//server.setSoTimeout(500);
   				try {
   					clientSocket = server.accept();
  -					try {
  -						serviceSocket = new Socket(serviceHost, servicePort);
  -					} catch (Exception se) {
  -						System.err.println("Failed to open socket to service");
  -						stayAlive = false;
  -						continue;
  -					}
  +					
  +					// Now create the socket to the server
  +					int retry=CREATE_SOCKET_TO_SERVER_RETRY;
  +					do
  +                    {
  +					    try 
  +					    {
  +					        serviceSocket = new Socket(serviceHost, servicePort);
  +					    } 
  +					    catch (Exception se) 
  +					    {
  +					        System.err.println("Failed to open socket to service");
  +					        se.printStackTrace(System.err);
  +					        if(retry<=0)
  +					        {
  +					            stayAlive = false;
  +					            continue;
  +					        }
  +					        else
  +					        {
  +					            // go to sleep
  +					            System.err.println( "Going to sleep");
  +							    Thread.currentThread().sleep(2500);
  +							    System.err.println( "Woke up ");
  +					        }
  +					    }
  +                    }while(serviceSocket==null && retry-- >0);
  +					
   					requestReader = new TestClientThread(clientSocket, serviceSocket, CAPTURE_REQUEST);
   					responseReader = new TestClientThread(clientSocket, serviceSocket, CAPTURE_RESPONSE);
   					requestReader.start();