[jboss-cvs] JBossAS SVN: r64805 - trunk/connector/src/main/org/jboss/resource/adapter/jms/inflow.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Aug 23 09:52:55 EDT 2007


Author: adrian at jboss.org
Date: 2007-08-23 09:52:55 -0400 (Thu, 23 Aug 2007)
New Revision: 64805

Modified:
   trunk/connector/src/main/org/jboss/resource/adapter/jms/inflow/JmsActivation.java
Log:
[JBAS-4625] - Close the connection if we fail to setup the connection

Modified: trunk/connector/src/main/org/jboss/resource/adapter/jms/inflow/JmsActivation.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/adapter/jms/inflow/JmsActivation.java	2007-08-23 13:51:11 UTC (rev 64804)
+++ trunk/connector/src/main/org/jboss/resource/adapter/jms/inflow/JmsActivation.java	2007-08-23 13:52:55 UTC (rev 64805)
@@ -458,11 +458,28 @@
          else
             result = qcf.createQueueConnection();
       }
-      if (clientID != null)
-         result.setClientID(clientID);
-      result.setExceptionListener(this);
-      log.debug("Using queue connection " + result);
-      return result;
+      try
+      {
+         if (clientID != null)
+            result.setClientID(clientID);
+         result.setExceptionListener(this);
+         log.debug("Using queue connection " + result);
+         return result;
+      }
+      catch (Throwable t)
+      {
+         try
+         {
+            result.close();
+         }
+         catch (Exception e)
+         {
+            log.trace("Ignored error closing connection", e);
+         }
+         if (t instanceof Exception)
+            throw (Exception) t;
+         throw new RuntimeException("Error configuring connection", t);
+      }
    }
    
    /**
@@ -497,11 +514,28 @@
          else
             result = tcf.createTopicConnection();
       }
-      if (clientID != null)
-         result.setClientID(clientID);
-      result.setExceptionListener(this);
-      log.debug("Using topic connection " + result);
-      return result;
+      try
+      {
+         if (clientID != null)
+            result.setClientID(clientID);
+         result.setExceptionListener(this);
+         log.debug("Using topic connection " + result);
+         return result;
+      }
+      catch (Throwable t)
+      {
+         try
+         {
+            result.close();
+         }
+         catch (Exception e)
+         {
+            log.trace("Ignored error closing connection", e);
+         }
+         if (t instanceof Exception)
+            throw (Exception) t;
+         throw new RuntimeException("Error configuring connection", t);
+      }
    }
    
    /**




More information about the jboss-cvs-commits mailing list