[prev in list] [next in list] [prev in thread] [next in thread] 

List:       activemq-dev
Subject:    [jira] [Resolved] (AMQ-4225) PooledConnectionFactory should track Session checkouts and close associ
From:       "Timothy Bish (JIRA)" <jira () apache ! org>
Date:       2012-12-21 22:07:12
Message-ID: JIRA.12624198.1355680731882.44999.1356127632911 () arcas
[Download RAW message or body]


     [ https://issues.apache.org/jira/browse/AMQ-4225?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel \
]

Timothy Bish resolved AMQ-4225.
-------------------------------

       Resolution: Fixed
    Fix Version/s: 5.8.0
         Assignee: Timothy Bish

Added a test case and fix.  Feel free to add more tests if you have other scenarios \
that you think need tested.   
> PooledConnectionFactory should track Session checkouts and close associated \
>                 resources
> -------------------------------------------------------------------------------------
>  
> Key: AMQ-4225
> URL: https://issues.apache.org/jira/browse/AMQ-4225
> Project: ActiveMQ
> Issue Type: Improvement
> Affects Versions: 5.7.0
> Reporter: Raul Kripalani
> Assignee: Timothy Bish
> Fix For: 5.8.0
> 
> 
> When the user's code closes a Connection checked out from the pool, I would expect \
> activemq-pool to close Sessions, MessageConsumers and MessageProducers that were \
> created from it.  Unfortunately, activemq-pool only cleans up Sessions on \
> Connection.close() when no one else is referencing the Connection (referenceCount \
> == 0).  This makes Sessions, Consumers and Producers outlive the code that actually \
> uses them, thus leading to increased resource consumption and messages being \
> trapped in prefetch buffers that are no longer monitored. Instead, we should keep \
> track of the Sessions that were created from each specific Connection checkout, and \
> close them when the borrowed Connection is closed. Otherwise we bump into \
> situations like [SPR-10092|https://jira.springsource.org/browse/SPR-10092] when \
> using Spring's DefaultMessageListenerContainer. In some cases DMLC "forgets" to \
> explicitly close MessageConsumers and Sessions, even though Connections are always \
> closed, but the pool doesn't take care of cleaning up associated sessions.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic