You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2012/08/30 11:12:08 UTC

[jira] [Commented] (AMQ-3988) PooledSession throw Exception at closing

    [ https://issues.apache.org/jira/browse/AMQ-3988?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13444812#comment-13444812 ] 

Claus Ibsen commented on AMQ-3988:
----------------------------------

When does this happend? Do you shutdown the application, and then you see the WARN logs. Or do you see them during routing messages?


Looking at the source in 5.4.2 vs 5.6.0 then in 5.6.0 there is a try  .. catch now with a log WARN.
As the logic is clearing the session listener, we could possible enhance AMQ to allow setting the listener to null, even if its already closed. 

                
> PooledSession throw Exception at closing
> ----------------------------------------
>
>                 Key: AMQ-3988
>                 URL: https://issues.apache.org/jira/browse/AMQ-3988
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: activemq-camel, JMS client
>    Affects Versions: 5.6.0
>         Environment: Mac OSX Snow Leopard, Java 6, ActiveMQ 5.6.0, Camel 2.10, Spring 3.0.7.RELEASE
>            Reporter: Jorge Davison
>            Priority: Minor
>
> Using ActiveMQ library 5.6.0 with Camel 2.10, the PooledSession is throwing IllegalStateException at shutdown application time.
> With the version 5.4.2 of ActiveMQ library there is not such behavior.
> {code}
> 2012-08-23 12:08:48,274 [WARN] PooledSession(122): Caught exception trying close() when putting session back into the pool, will invalidate. javax.jms.IllegalStateException: The Session is closed 
> javax.jms.IllegalStateException: The Session is closed
> 	at org.apache.activemq.ActiveMQSession.checkClosed(ActiveMQSession.java:731) ~[activemq-core-5.6.0.jar:5.6.0]
> 	at org.apache.activemq.ActiveMQSession.setMessageListener(ActiveMQSession.java:813) ~[activemq-core-5.6.0.jar:5.6.0]
> 	at org.apache.activemq.pool.PooledSession.close(PooledSession.java:99) ~[activemq-pool-5.6.0.jar:5.6.0]
> 	at org.springframework.jms.support.JmsUtils.closeSession(JmsUtils.java:108) [spring-jms-3.0.7.RELEASE.jar:3.0.7.RELEASE]
> 	at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.clearResources(DefaultMessageListenerContainer.java:1099) [spring-jms-3.0.7.RELEASE.jar:3.0.7.RELEASE]
> 	at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:999) [spring-jms-3.0.7.RELEASE.jar:3.0.7.RELEASE]
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [na:1.6.0_33]
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [na:1.6.0_33]
> 	at java.lang.Thread.run(Thread.java:680) [na:1.6.0_33]
> {code}
> Pool Connection Declaration:
> {code}
> 	<bean id="jmsConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
> 		<property name="brokerURL" value="${amq.url}" />
> 		<property name="userName" value="${amq.username}" />
> 		<property name="password" value="${amq.password}" />
> 		<property name="watchTopicAdvisories" value="${amq.watchTopicAdv}" />
> 	</bean>
> 	<bean id="pooledConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory">
> 		<property name="maxConnections" value="${amq.maxConnections}" />
> 		<property name="maximumActive" value="${amq.maximumActive}" />
> 		<property name="connectionFactory" ref="jmsConnectionFactory" />
> 	</bean>
> 	<bean id="jmsConfig" class="org.apache.camel.component.jms.JmsConfiguration">
> 		<property name="connectionFactory" ref="pooledConnectionFactory" />
> 		<property name="transacted" value="false" />
> 		<property name="testConnectionOnStartup" value="true" />
> 		<property name="concurrentConsumers" value="${amq.concurrentConsumers}" />
> 	</bean>
> 	<bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent">
> 		<property name="configuration" ref="jmsConfig" />
> 	</bean>
> {code}
> Maven Dependencies:
> {code}
> 		<dependency>
> 			<groupId>org.apache.activemq</groupId>
> 			<artifactId>activemq-camel</artifactId>
> 			<version>5.6.0</version>
> 		</dependency>
> 		<dependency>
> 			<groupId>org.apache.activemq</groupId>
> 			<artifactId>activemq-pool</artifactId>
> 			<version>5.6.0</version>
> 		</dependency>
> {code}

--
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