geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Jencks (JIRA)" <>
Subject [jira] Created: (GERONIMO-4786) Mulitple connections outside UserTransaction result in ManageConnection leak
Date Wed, 05 Aug 2009 23:37:14 GMT
Mulitple connections outside UserTransaction result in ManageConnection leak

                 Key: GERONIMO-4786
             Project: Geronimo
          Issue Type: Bug
      Security Level: public (Regular issues)
          Components: connector
    Affects Versions: 2.2
            Reporter: David Jencks
            Assignee: David Jencks
             Fix For: 2.2

This results in a ManagedConnection not being returned to the pool:

ConnectionFactory cf = (look it up)

Connection c1 = cf.createConnection();
Connection c2 = cf.createConnection();

UserTransaction ut = (lookup)

What happens is that the transaction manager starts enlisting the connections.  The first
one gets set up as the shared connection.  For the second one, we just install the shared
ManagedConnection without checking that there is none there already.

I tried returning any existing ManagedConnection but that doesn't work with AMQ or other j2ca
implementations that don't have dissociatable connections.  I think the best option is to
keep using any other existing connections but treat them as unshared.

In case you are wondering why anyone would do this....  If you are using the jms 1.0 apis
you might get a QueueConnection and a TopicConnection at the same time.

Fix is in the txmanager component, not in geronimo itself.  This should be applicable to g
2.1 and 2.2 and the 2.1 and trunk branches of the txmanager component. 

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message