activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Laures <baetz.alexan...@googlemail.com>
Subject Re: Sugestions how to listen on several thousand topics with spring?
Date Tue, 12 Jun 2012 10:25:39 GMT
currently i'm using a CachedConnectionFactory from spring to limit the number
of open sessions.

	<bean id="connectionFactory"
class="org.springframework.jms.connection.CachingConnectionFactory"
destroy-method="destroy">
		<property name="targetConnectionFactory" ref="amqConnectionFactory" />
		<property name="sessionCacheSize" value="60" />
	</bean>
		
	<bean id="amqConnectionFactory"
class="org.apache.activemq.ActiveMQConnectionFactory">
		<property name="brokerURL"
value="vm://localhost:61616?async=false&amp;jms.alwaysSessionAsync=true" />
		<property name="userName" value="admin" />
		<property name="password" value="admin" />
	</bean>

together with the connection uri parameters this means that activemq uses
one thread per session to process messages in the
simplemessagelistenercontainer instances and there is a maximum of 60
concurrent sessions.

my problem with this config is that fore some reasons sessions are closed by
the cached factory to early which causes exceptions like this:

2012-06-12 11:46:06,051 DEBUG [ActiveMQ Session Task-19]
o.s.j.l.SimpleMessageListenerContainer - Listener exception after container
shutdown
javax.jms.IllegalStateException: The Session is closed
	at
org.apache.activemq.ActiveMQSession.checkClosed(ActiveMQSession.java:722)
~[activemq-core-5.5.1.jar:5.5.1]
	at
org.apache.activemq.ActiveMQSession.getTransacted(ActiveMQSession.java:520)
~[activemq-core-5.5.1.jar:5.5.1]
	at sun.reflect.GeneratedMethodAccessor72.invoke(Unknown Source) ~[na:na]
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[na:1.7.0_04]
	at java.lang.reflect.Method.invoke(Method.java:601) ~[na:1.7.0_04]
	at
org.springframework.jms.connection.CachingConnectionFactory$CachedSessionInvocationHandler.invoke(CachingConnectionFactory.java:344)
~[spring-jms-3.1.0.RELEASE.jar:3.1.0.RELEASE]
	at $Proxy31.getTransacted(Unknown Source) ~[na:na]
	at
org.springframework.jms.listener.AbstractMessageListenerContainer.commitIfNecessary(AbstractMessageListenerContainer.java:572)
~[spring-jms-3.1.0.RELEASE.jar:3.1.0.RELEASE]
	at
org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:481)
~[spring-jms-3.1.0.RELEASE.jar:3.1.0.RELEASE]
	at
org.springframework.jms.listener.AbstractMessageListenerContainer.executeListener(AbstractMessageListenerContainer.java:439)
~[spring-jms-3.1.0.RELEASE.jar:3.1.0.RELEASE]
	at
org.springframework.jms.listener.SimpleMessageListenerContainer.processMessage(SimpleMessageListenerContainer.java:311)
[spring-jms-3.1.0.RELEASE.jar:3.1.0.RELEASE]
	at
org.springframework.jms.listener.SimpleMessageListenerContainer$2.onMessage(SimpleMessageListenerContainer.java:287)
[spring-jms-3.1.0.RELEASE.jar:3.1.0.RELEASE]
	at
org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:1230)
[activemq-core-5.5.1.jar:5.5.1]
	at
org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:134)
[activemq-core-5.5.1.jar:5.5.1]
	at
org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:205)
[activemq-core-5.5.1.jar:5.5.1]
	at
org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:127)
[activemq-core-5.5.1.jar:5.5.1]
	at
org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:48)
[activemq-core-5.5.1.jar:5.5.1]
	at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
[na:1.7.0_04]
	at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
[na:1.7.0_04]
	at java.lang.Thread.run(Thread.java:722) [na:1.7.0_04]

--
View this message in context: http://activemq.2283324.n4.nabble.com/Sugestions-how-to-listen-on-several-thousand-topics-with-spring-tp4653164p4653195.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Mime
View raw message