Hi,
currently we are using camel 2.10.0 version with ActiveMQ 5.7.0 and fuse esb
server - fuse-esb-7.1.0.fuse-047 for development.
i am using below piece of code to send message to JMS Queue with multiple
threads but some times it is not working because of
below exception.
org.apache.camel.CamelExecutionException: Exception occurred during
execution on the exchange: Exchange
Caused by: org.springframework.jms.IllegalStateException: The Session is
closed; nested exception is javax.jms.IllegalStateException: The Session is
closed
@Produce(ref ="endpoint reference")
private ProducerTemplate producerTemplate;
producerTemplate.sendBodyAndHeaders(input, headerMap);
JMS Configuration:
<bean id="jmsConnectionFactory"
class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="${activemq.broker.url}" />
<property name="userName" value="${camel.user.name}" />
<property name="password" value="${camel.user.password}" />
</bean>
<bean id="pooledConnectionFactory"
class="org.apache.activemq.pool.PooledConnectionFactory"
init-method="start"
destroy-method="stop">
<property name="maxConnections"
value="${activemq.pooled.maxConnections}"
/>
<property name="connectionFactory" ref="jmsConnectionFactory" />
</bean>
<bean id="jmsConfig"
class="org.apache.camel.component.jms.JmsConfiguration">
<property name="connectionFactory"
ref="pooledConnectionFactory" />
</bean>
<bean id="activemq"
class="org.apache.activemq.camel.component.ActiveMQComponent">
<property name="configuration" ref="jmsConfig" />
</bean>
Error Stack trace:
org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.fabric.FabricTraceProcessor.process(FabricTraceProcessor.java:81)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:334)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:220)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:303)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.processor.Pipeline.process(Pipeline.java:117)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.processor.Pipeline.process(Pipeline.java:80)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.processor.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:150)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:117)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.processor.RouteInflightRepositoryProcessor.processNext(RouteInflightRepositoryProcessor.java:48)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:86)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:104)[154:org.apache.camel.camel-jms:2.10.0.fuse-71-047]
at
org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:560)[153:org.springframework.jms:3.0.7.RELEASE]
at
org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:498)[153:org.springframework.jms:3.0.7.RELEASE]
at
org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:467)[153:org.springframework.jms:3.0.7.RELEASE]
at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:325)[153:org.springframework.jms:3.0.7.RELEASE]
at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:263)[153:org.springframework.jms:3.0.7.RELEASE]
at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1058)[153:org.springframework.jms:3.0.7.RELEASE]
at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1050)[153:org.springframework.jms:3.0.7.RELEASE]
at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:947)[153:org.springframework.jms:3.0.7.RELEASE]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[:1.7.0_21]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[:1.7.0_21]
at java.lang.Thread.run(Thread.java:722)[:1.7.0_21]
Caused by: org.springframework.jms.IllegalStateException: The Session is
closed; nested exception is javax.jms.IllegalStateException: The Session is
closed
at
org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:279)[153:org.springframework.jms:3.0.7.RELEASE]
at
org.springframework.jms.support.JmsAccessor.convertJmsAccessException(JmsAccessor.java:168)[153:org.springframework.jms:3.0.7.RELEASE]
at
org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:469)[153:org.springframework.jms:3.0.7.RELEASE]
at
org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.send(JmsConfiguration.java:170)[154:org.apache.camel.camel-jms:2.10.0.fuse-71-047]
at
org.apache.camel.component.jms.JmsProducer.doSend(JmsProducer.java:402)[154:org.apache.camel.camel-jms:2.10.0.fuse-71-047]
at
org.apache.camel.component.jms.JmsProducer.processInOnly(JmsProducer.java:356)[154:org.apache.camel.camel-jms:2.10.0.fuse-71-047]
at
org.apache.camel.component.jms.JmsProducer.process(JmsProducer.java:132)[154:org.apache.camel.camel-jms:2.10.0.fuse-71-047]
at
org.apache.camel.processor.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:150)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:117)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:86)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.processor.UnitOfWorkProducer.process(UnitOfWorkProducer.java:63)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java:366)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java:337)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:233)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.impl.ProducerCache.sendExchange(ProducerCache.java:337)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.impl.ProducerCache.send(ProducerCache.java:175)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:111)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
at
org.apache.camel.impl.DefaultProducerTemplate.sendBodyAndHeaders(DefaultProducerTemplate.java:220)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
... 55 more
Caused by: javax.jms.IllegalStateException: The Session is closed
at
org.apache.activemq.ActiveMQSession.checkClosed(ActiveMQSession.java:731)[125:org.apache.activemq.activemq-core:5.7.0.fuse-71-047]
at
org.apache.activemq.ActiveMQSession.createQueue(ActiveMQSession.java:1169)[125:org.apache.activemq.activemq-core:5.7.0.fuse-71-047]
at
org.apache.activemq.pool.PooledSession.createQueue(PooledSession.java:193)[122:org.apache.activemq.activemq-pool:5.7.0.fuse-71-047]
at
org.springframework.jms.support.destination.DynamicDestinationResolver.resolveQueue(DynamicDestinationResolver.java:101)[153:org.springframework.jms:3.0.7.RELEASE]
at
org.springframework.jms.support.destination.DynamicDestinationResolver.resolveDestinationName(DynamicDestinationResolver.java:66)[153:org.springframework.jms:3.0.7.RELEASE]
at
org.springframework.jms.support.destination.JmsDestinationAccessor.resolveDestinationName(JmsDestinationAccessor.java:100)[153:org.springframework.jms:3.0.7.RELEASE]
at
org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.access$000(JmsConfiguration.java:159)[154:org.apache.camel.camel-jms:2.10.0.fuse-71-047]
at
org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate$1.doInJms(JmsConfiguration.java:172)[154:org.apache.camel.camel-jms:2.10.0.fuse-71-047]
at
org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:466)[153:org.springframework.jms:3.0.7.RELEASE]
... 71 more
can any one help on this issue.
Thanks in Advance.
Srini.
--
View this message in context:
http://camel.465427.n5.nabble.com/some-times-Camel-ProducerTemplate-failing-to-send-messages-to-JMS-Queue-due-to-The-Session-is-closed-tp5756008.html
Sent from the Camel Development mailing list archive at Nabble.com.