[ https://issues.apache.org/jira/browse/AMQ-3430?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Torsten Mielke updated AMQ-3430: -------------------------------- Attachment: AMQ-3430.patch Attaching a possible fix including some logging for SessionPool.java It was necessary to add a public method ActiveMQSession.isClosed() for checking if a session is closed. > activemq-web: SessionPool.returnSession() should discard sessions that are > closed. > ----------------------------------------------------------------------------------- > > Key: AMQ-3430 > URL: https://issues.apache.org/jira/browse/AMQ-3430 > Project: ActiveMQ > Issue Type: Bug > Components: Broker > Affects Versions: 5.5.0, 5.6.0 > Reporter: Torsten Mielke > Labels: SessionPool, activemq-web-console, > Fix For: 5.6.0 > > Attachments: AMQ-3430.patch > > > In activemq.web project, SessionPool.returnSession() does not check if the > session is still open. As long as the session isn't null, its returned back > to the pool. > At least one customer reported a problem when using the web console for > browsing a queue, where the session was already closed. > {noformat} > javax.jms.IllegalStateException: The Session is closed > at org.apache.activemq.ActiveMQSession.checkClosed(ActiveMQSession.java:722) > at org.apache.activemq.ActiveMQSession.createQueue(ActiveMQSession.java:1141) > at org.apache.activemq.web.QueueBrowseQuery.getQueue(QueueBrowseQuery.java:65) > at > org.apache.activemq.web.QueueBrowseQuery.createBrowser(QueueBrowseQuery.java:91) > at > org.apache.activemq.web.QueueBrowseQuery.getBrowser(QueueBrowseQuery.java:54) > at sun.reflect.GeneratedMethodAccessor125.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at javax.el.BeanELResolver.getValue(BeanELResolver.java:62) > ... > {noformat} > Not sure what triggered the closure of the session, however once it is closed > it should not be returned to the pool but be discarded. If its not discarded, > then the pool will always return the closed session and any invocations on > the session return an exception. Restarting the broker is the only remedy. > -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira