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.

Reply via email to