[jboss-cvs] JBossAS SVN: r112633 - projects/jboss-jca/branches/Branch_1_0/core/src/main/java/org/jboss/jca/core/connectionmanager/pool/mcp.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Feb 10 12:15:20 EST 2012


Author: jesper.pedersen
Date: 2012-02-10 12:15:19 -0500 (Fri, 10 Feb 2012)
New Revision: 112633

Modified:
   projects/jboss-jca/branches/Branch_1_0/core/src/main/java/org/jboss/jca/core/connectionmanager/pool/mcp/ArrayBlockingQueueManagedConnectionPool.java
   projects/jboss-jca/branches/Branch_1_0/core/src/main/java/org/jboss/jca/core/connectionmanager/pool/mcp/SemaphoreArrayListManagedConnectionPool.java
Log:
[JBJCA-745] removeConnectionEventListener never called

Modified: projects/jboss-jca/branches/Branch_1_0/core/src/main/java/org/jboss/jca/core/connectionmanager/pool/mcp/ArrayBlockingQueueManagedConnectionPool.java
===================================================================
--- projects/jboss-jca/branches/Branch_1_0/core/src/main/java/org/jboss/jca/core/connectionmanager/pool/mcp/ArrayBlockingQueueManagedConnectionPool.java	2012-02-10 17:13:59 UTC (rev 112632)
+++ projects/jboss-jca/branches/Branch_1_0/core/src/main/java/org/jboss/jca/core/connectionmanager/pool/mcp/ArrayBlockingQueueManagedConnectionPool.java	2012-02-10 17:15:19 UTC (rev 112633)
@@ -461,6 +461,7 @@
             log.trace("Destroying returned connection " + cl);
 
          doDestroy(cl);
+         cl = null;
       }
    }
 
@@ -521,6 +522,7 @@
                log.trace("Destroying flushed connection " + destroyCl);
 
             doDestroy(destroyCl);
+            destroyCl = null;
          }
 
          // We destroyed something, check the minimum.
@@ -584,6 +586,7 @@
                log.trace("Destroying timedout connection " + cl);
 
             doDestroy(cl);
+            cl = null;
          }
 
          if (!shutdown.get())
@@ -686,6 +689,7 @@
                if (cl != null)
                {
                   doDestroy(cl);
+                  cl = null;
                }
 
                break;
@@ -747,15 +751,18 @@
 
       statistics.deltaDestroyedCount();
       cl.setState(ConnectionState.DESTROYED);
+
+      ManagedConnection mc = cl.getManagedConnection();
       try
       {
-         cl.getManagedConnection().destroy();
+         mc.destroy();
       }
       catch (Throwable t)
       {
          log.debug("Exception destroying ManagedConnection " + cl, t);
       }
 
+      mc.removeConnectionEventListener(cl);
    }
    
    private boolean shouldRemove()
@@ -816,6 +823,7 @@
                      if (cl.getState() != ConnectionState.DESTROY)
                      {
                         doDestroy(cl);
+                        cl = null;
                         destroyed = true;
                         anyDestroyed = true;
                      }
@@ -893,6 +901,7 @@
       {
          log.debug("Connection couldn't be returned");
          doDestroy(cl);
+         cl = null;
          return false;
       }
 

Modified: projects/jboss-jca/branches/Branch_1_0/core/src/main/java/org/jboss/jca/core/connectionmanager/pool/mcp/SemaphoreArrayListManagedConnectionPool.java
===================================================================
--- projects/jboss-jca/branches/Branch_1_0/core/src/main/java/org/jboss/jca/core/connectionmanager/pool/mcp/SemaphoreArrayListManagedConnectionPool.java	2012-02-10 17:13:59 UTC (rev 112632)
+++ projects/jboss-jca/branches/Branch_1_0/core/src/main/java/org/jboss/jca/core/connectionmanager/pool/mcp/SemaphoreArrayListManagedConnectionPool.java	2012-02-10 17:15:19 UTC (rev 112633)
@@ -487,6 +487,7 @@
             log.trace("Destroying returned connection " + cl);
 
          doDestroy(cl);
+         cl = null;
       }
    }
 
@@ -558,6 +559,7 @@
                log.trace("Destroying flushed connection " + cl);
 
             doDestroy(cl);
+            cl = null;
          }
 
          // We destroyed something, check the minimum.
@@ -618,6 +620,7 @@
                log.trace("Destroying timedout connection " + cl);
 
             doDestroy(cl);
+            cl = null;
          }
 
          if (!shutdown.get())
@@ -789,14 +792,17 @@
       statistics.deltaDestroyedCount();
       cl.setState(ConnectionState.DESTROYED);
 
+      ManagedConnection mc = cl.getManagedConnection();
       try
       {
-         cl.getManagedConnection().destroy();
+         mc.destroy();
       }
       catch (Throwable t)
       {
          log.debug("Exception destroying ManagedConnection " + cl, t);
       }
+
+      mc.removeConnectionEventListener(cl);
    }
 
    /**
@@ -868,6 +874,7 @@
                         if (cl.getState() != ConnectionState.DESTROY)
                         {
                            doDestroy(cl);
+                           cl = null;
                            destroyed = true;
                            anyDestroyed = true;
                         }



More information about the jboss-cvs-commits mailing list