Robbie Gemmell created QPIDJMS-299:
--------------------------------------
Summary: executor thread factories can retain closed connection
objects due to implicit parent references
Key: QPIDJMS-299
URL: https://issues.apache.org/jira/browse/QPIDJMS-299
Project: Qpid JMS
Issue Type: Bug
Components: qpid-jms-client
Reporter: Robbie Gemmell
Fix For: 0.24.0
The client creates various executors, supplying thread factories to set the
names and daemon status. It typically does this using an anonymous inner class
for the factory, and doing this results in the factory object having an
implicit reference to its creating class instance, which in most cases makes
them a way to reference the objects for a connection. This can at best make
connection objects stick around longer than needed/desired when done with, but
at worst during any resource cleanup issues could actually retain the
connections related objects indefinitely and exhaust memory if this repeats
often enough over time.
We should create a common thread factory class that can avoid the existing
duplicate code and ensure the thread factories don't have the impicit reference
to their creators which can lead to undesirable retention.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]