[
https://issues.apache.org/jira/browse/AMQ-4225?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13534110#comment-13534110
]
Raul Kripalani commented on AMQ-4225:
-------------------------------------
[~tabish121], sure. I was planning to, but I haven't found the time yet.
> 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
>
> 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