Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * JBoss, Home of Professional Open Source
   * Copyright 2006, Red Hat Middleware LLC, and individual contributors
   * as indicated by the @author tags.
   * See the copyright.txt in the distribution for a
   * full listing of individual contributors.
   * This copyrighted material is made available to anyone wishing to use,
   * modify, copy, or redistribute it subject to the terms and conditions
   * of the GNU Lesser General Public License, v. 2.1.
  * This program is distributed in the hope that it will be useful, but WITHOUT A
  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
  * You should have received a copy of the GNU Lesser General Public License,
  * v.2.1 along with this distribution; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  * MA  02110-1301, USA.
  *
  * (C) 2005-2006,
  * @author JBoss Inc.
  */
 /*
  * Copyright (C) 2004,
  *
  * Arjuna Technologies Limited,
  * Newcastle upon Tyne,
  * Tyne and Wear,
  * UK.
  *
  * $Id: RecoveryDriver.java 2342 2006-03-30 13:06:17Z  $
  */
 
 package com.arjuna.ats.arjuna.recovery;
 
 
 
 public class RecoveryDriver
 {
     public static final String SCAN = "SCAN";
     public static final String ASYNC_SCAN = "ASYNC_SCAN";
     public static final String PING = "PING";
     public static final String PONG = "PONG";
 
     // allow time for one complete scan (which is dominated by the backoff wait) plus a fudge factor for actual work + comms delay
     public static final int DEFAULT_SYNC_TIMEOUT = 1000 + (recoveryPropertyManager.getRecoveryEnvironmentBean().getRecoveryBackoffPeriod() * 1000); // in milliseconds
     public static final int DEFAULT_SYNC_RETRY = 5;
 
     public static final int DEFAULT_SO_TIMEOUT = 20000;
 
     public RecoveryDriver (int port)
     {
 	this(portnull);
     }
 
     public RecoveryDriver (int portString hostName)
     {
 	this(porthostName);
     }
 
     public RecoveryDriver (int portString hostNameint timeout)
     {
 	 = port;
 	 = hostName;
 	 = timeout;
     }
 
     public final boolean synchronousScan () throws java.net.UnknownHostExceptionjava.net.SocketExceptionjava.io.IOException
     {
     }
 
     public final boolean synchronousScan (int timeoutint retrythrows java.net.UnknownHostExceptionjava.net.SocketExceptionjava.io.IOException
     {
         return scan(timeoutretry);
     }
 
     public final boolean asynchronousScan () throws java.net.UnknownHostExceptionjava.net.SocketExceptionjava.io.IOException
     {
         /*
          * For async the timeout is the socket timeout and number of attempts on call is 1.
          */
 
 	return scan(, 1);
     }
 
     /*
      * Ignore timeout/retry for async.
      */
 
     private final boolean scan (String scanTypeint timeoutint retrythrows java.net.UnknownHostExceptionjava.net.SocketExceptionjava.io.IOException
     {
 	if ( == null)
	     = InetAddress.getLocalHost().getHostName();
        boolean success = false;
        Socket connectorSocket = null;
	for (int i = 0; i < retry && !successi++)
	{
	    connectorSocket = new Socket();
            connectorSocket.setSoTimeout(timeout);
	    try
	    {
	        // streams to and from the RecoveryManager
	        BufferedReader fromServer = new BufferedReader(new InputStreamReader(connectorSocket.getInputStream())) ;
	        PrintWriter toServer = new PrintWriter(new OutputStreamWriter(connectorSocket.getOutputStream()));
	        toServer.println(scanType);
	        toServer.flush() ;
	        String response = fromServer.readLine();
	        if (response.equals("DONE"))
	            success = true;
	    }
	    catch (final SocketTimeoutException ex)
	    {
	    }
	    finally
	    {
	        if (connectorSocket != null)
	            connectorSocket.close() ;
	    }
	}
	return success;
    }
    private String _hostName = null;
    private int    _port = 0;
    private int    _timeout = 20000;
New to GrepCode? Check out our FAQ X