[
https://issues.apache.org/jira/browse/AMQ-4366?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13597425#comment-13597425
]
Timothy Bish commented on AMQ-4366:
-----------------------------------
Looking at the code a bit I think part of the problem here is that Idle timeout
seems to be considered even when there are references to the ConnectionPool
which would go against the stated purpose of IdleTimeout which is to close out
Connection's that have sat unused. If a reference is active then the
ConnectionPool shouldn't be considered inactive since some Session is open and
could be in use. Only expiry timeout should be considered regardless of
reference count if I understand that setting correctly, the doco is a bit
vague.
> PooledConnectionFactory closes connections that are in use
> ----------------------------------------------------------
>
> Key: AMQ-4366
> URL: https://issues.apache.org/jira/browse/AMQ-4366
> Project: ActiveMQ
> Issue Type: Bug
> Components: activemq-pool
> Affects Versions: 5.7.0, 5.8.0
> Reporter: Petr Janata
> Assignee: Timothy Bish
> Attachments: poolConClose.diff
>
>
> {{PooledConnectionFactory}} closes connections that are still referenced and
> should not be closed. Happens only when connection idle or expire time
> passes. Calling {{createConnection}} after that time will invalidate the
> connection and all previously obtained {{Sessions}} will behave as closed.
> Due to default 30 second idle timeout, it is likely not to cause problems
> when:
> * connection is continually in use
> * all {{PooledConnection}}s are borrowed at startup
> Client with session whose connection was prematurely closed will see similar
> stacktrace:
> {noformat}
> javax.jms.IllegalStateException: The Session is closed
> at
> org.apache.activemq.ActiveMQSession.checkClosed(ActiveMQSession.java:731)
> at
> org.apache.activemq.ActiveMQSession.configureMessage(ActiveMQSession.java:719)
> at
> org.apache.activemq.ActiveMQSession.createBytesMessage(ActiveMQSession.java:316)
> at
> org.apache.activemq.pool.PooledSession.createBytesMessage(PooledSession.java:168)
> {noformat}
--
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