[jboss-remoting-commits] JBoss Remoting SVN: r5451 - remoting2/branches/2.2/src/main/org/jboss/remoting/transport/socket.

jboss-remoting-commits at lists.jboss.org jboss-remoting-commits at lists.jboss.org
Thu Sep 10 11:59:04 EDT 2009


Author: ron.sigal at jboss.com
Date: 2009-09-10 11:59:04 -0400 (Thu, 10 Sep 2009)
New Revision: 5451

Modified:
   remoting2/branches/2.2/src/main/org/jboss/remoting/transport/socket/MicroSocketClientInvoker.java
Log:
JBREM-1152: After calling getConnection(), catches SocketException and generalized IOExceptions and retries.

Modified: remoting2/branches/2.2/src/main/org/jboss/remoting/transport/socket/MicroSocketClientInvoker.java
===================================================================
--- remoting2/branches/2.2/src/main/org/jboss/remoting/transport/socket/MicroSocketClientInvoker.java	2009-09-10 15:57:08 UTC (rev 5450)
+++ remoting2/branches/2.2/src/main/org/jboss/remoting/transport/socket/MicroSocketClientInvoker.java	2009-09-10 15:59:04 UTC (rev 5451)
@@ -600,6 +600,25 @@
          {
             socketWrapper = getConnection(marshaller, unmarshaller, timeLeft);
          }
+         catch (SocketException e)
+         {
+            log.debug(this + " got " + e + ": " + e.getMessage());
+            semaphore.release();
+            continue;
+         }
+         catch (IOException e)
+         {
+            semaphore.release();
+            if (trace) log.trace(this + " released semaphore: " + semaphore.permits());
+            if (isGeneralizeSocketException() && RETRIABLE_ERROR_MESSAGE.matcher(e.getMessage()).matches())
+            {
+               log.debug(this + " got " + e + ": " + e.getMessage());
+               continue;
+            }
+            throw new CannotConnectException(
+               "Can not get connection to server. Problem establishing " +
+               "socket connection for " + locator, e);
+         }
          catch (Exception e)
          {
 //            if (bailOut)



More information about the jboss-remoting-commits mailing list