I am seeing the exception listed below after running a fairly straightforward load test against jetty/activemq/camel. As best as I can make out, it occurs only after I have run the test a few times (i.e. start,finish,start,finish,start,exception), at which time all connections in the test fail. One variable that seems to make a difference is how I define the jms bean in the spring config. For performance reasons, I would really like to use the maxConnections and concurrentConsumers values, but this exception seems to only happen when I use the config that has those values.
I'd be willing to share the project with interested parties if it's helpful (its a fairly simple maven project) Details below.... My Route from("jetty:http://localhost:8085/incoming?sessionSupport=true").routeId("Jetty Endpoint to ActiveMQ") .to("jms:incoming"); from("jms:incoming").routeId("ActiveMQ Incoming") .unmarshal(customGsonParser) .beanRef("dispatcher", "dispatch") .marshal(customGsonParser); My JMS Config That Does Not Produce The Exception <bean id="jms" class="org.apache.camel.component.jms.JmsComponent"> <property name="connectionFactory"> <bean class="org.apache.activemq.ActiveMQConnectionFactory"> <property name="brokerURL" value="tcp://localhost:61616" /> </bean> </property> </bean> My JMS Config That Produces The Exception <bean id="jmsConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory"> <property name="brokerURL" value="tcp://localhost:61616" /> </bean> <bean id="pooledConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory" init-method="start" destroy-method="stop"> <property name="maxConnections" value="100" /> <property name="connectionFactory" ref="jmsConnectionFactory" /> </bean> <bean id="jmsConfig" class="org.apache.camel.component.jms.JmsConfiguration"> <property name="connectionFactory" ref="pooledConnectionFactory" /> <property name="concurrentConsumers" value="50" /> </bean> <bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent"> <property name="configuration" ref="jmsConfig" /> </bean> System Details java version : "1.7.0_07" MacOS : 10.8.2 maven-jetty-plugin : 6.1.26 Jetty : 7.5.4.v20111024 Camel : 2.10.2 Apache ActiveMQ : 5.7.0 The Exception: [INFO] Started Jetty Server 2013-01-10 16:53:54,426 [er[temporary]-1] WARN efaultMessageListenerContainer - Setup of JMS message listener invoker failed for destination 'temporary' - trying to recover. Cause: The Consumer is closed 2013-01-10 16:53:54,430 [er[temporary]-1] INFO PooledConnection - failed to delete Temporary Queue "temp-queue://ID:Ks-MacBook-Pro.local-64733-1357854558059-3:2:1" on closing pooled connection: The connection is already closed 2013-01-10 16:53:54,432 [sumer[incoming]] WARN ultJmsMessageListenerContainer - Setup of JMS message listener invoker failed for destination 'incoming' - trying to recover. Cause: The Consumer is closed 2013-01-10 16:53:54,447 [sumer[incoming]] INFO ultJmsMessageListenerContainer - Successfully refreshed JMS Connection 2013-01-10 16:53:54,451 [er[temporary]-1] INFO efaultMessageListenerContainer - Successfully refreshed JMS Connection 2013-01-10 16:53:54,462 [sumer[incoming]] WARN EndpointMessageListener - Execution of JMS message listener failed. Caused by: [org.apache.camel.RuntimeCamelException - org.springframework.jms.InvalidDestinationException: Cannot publish to a deleted Destination: temp-queue://ID:Ks-MacBook-Pro.local-64733-1357854558059-3:2:1; nested exception is javax.jms.InvalidDestinationException: Cannot publish to a deleted Destination: temp-queue://ID:Ks-MacBook-Pro.local-64733-1357854558059-3:2:1] org.apache.camel.RuntimeCamelException: org.springframework.jms.InvalidDestinationException: Cannot publish to a deleted Destination: temp-queue://ID:Ks-MacBook-Pro.local-64733-1357854558059-3:2:1; nested exception is javax.jms.InvalidDestinationException: Cannot publish to a deleted Destination: temp-queue://ID:Ks-MacBook-Pro.local-64733-1357854558059-3:2:1 at org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1270) at org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:125) at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:560) at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:498) at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:467) at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:325) at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:263) at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1058) at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1050) at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:947) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) Caused by: org.springframework.jms.InvalidDestinationException: Cannot publish to a deleted Destination: temp-queue://ID:Ks-MacBook-Pro.local-64733-1357854558059-3:2:1; nested exception is javax.jms.InvalidDestinationException: Cannot publish to a deleted Destination: temp-queue://ID:Ks-MacBook-Pro.local-64733-1357854558059-3:2:1 at org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:285) at org.springframework.jms.support.JmsAccessor.convertJmsAccessException(JmsAccessor.java:168) at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:469) at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.send(JmsConfiguration.java:198) at org.apache.camel.component.jms.EndpointMessageListener.sendReply(EndpointMessageListener.java:353) at org.apache.camel.component.jms.EndpointMessageListener$EndpointMessageListenerAsyncCallback.done(EndpointMessageListener.java:206) at org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:108) ... 11 more Caused by: javax.jms.InvalidDestinationException: Cannot publish to a deleted Destination: temp-queue://ID:Ks-MacBook-Pro.local-64733-1357854558059-3:2:1 at org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1731) at org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:277) at org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:212) at org.apache.activemq.pool.PooledProducer.send(PooledProducer.java:79) at org.apache.activemq.pool.PooledProducer.send(PooledProducer.java:62) at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:592) at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.doSend(JmsConfiguration.java:276) at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.doSendToDestination(JmsConfiguration.java:215) at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.access$100(JmsConfiguration.java:157) at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate$4.doInJms(JmsConfiguration.java:200) at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:466) ... 15 more 2013-01-10 16:54:15,428 [ecker[incoming]] WARN TemporaryQueueReplyManager - Timeout occurred after 20000 millis waiting for reply message with correlationID [ID-Ks-MacBook-Pro-local-64734-1357854558361-0-450553]. Setting ExchangeTimedOutException on (MessageId: ID-Ks-MacBook-Pro-local-64734-1357854558361-0-450550 on ExchangeId: ID-Ks-MacBook-Pro-local-64734-1357854558361-0-450549) and continue routing. 2013-01-10 16:54:15,431 [ecker[incoming]] ERROR DefaultErrorHandler - Failed delivery for (MessageId: ID-Ks-MacBook-Pro-local-64734-1357854558361-0-450550 on ExchangeId: ID-Ks-MacBook-Pro-local-64734-1357854558361-0-450549). Exhausted after delivery attempt: 1 caught: org.apache.camel.ExchangeTimedOutException: The OUT message was not received within: 20000 millis due reply message with correlationID: ID-Ks-MacBook-Pro-local-64734-1357854558361-0-450553 not received. Exchange[Message: [Body is instance of org.apache.camel.StreamCache]] org.apache.camel.ExchangeTimedOutException: The OUT message was not received within: 20000 millis due reply message with correlationID: ID-Ks-MacBook-Pro-local-64734-1357854558361-0-450553 not received. Exchange[Message: [Body is instance of org.apache.camel.StreamCache]] at org.apache.camel.component.jms.reply.ReplyManagerSupport.processReply(ReplyManagerSupport.java:133) at org.apache.camel.component.jms.reply.TemporaryQueueReplyHandler.onTimeout(TemporaryQueueReplyHandler.java:61) at org.apache.camel.component.jms.reply.CorrelationTimeoutMap.onEviction(CorrelationTimeoutMap.java:53) at org.apache.camel.component.jms.reply.CorrelationTimeoutMap.onEviction(CorrelationTimeoutMap.java:30) at org.apache.camel.support.DefaultTimeoutMap.purge(DefaultTimeoutMap.java:203) at org.apache.camel.support.DefaultTimeoutMap.run(DefaultTimeoutMap.java:159) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) -- View this message in context: http://camel.465427.n5.nabble.com/Jetty-to-ActiveMQ-Failure-tp5725323.html Sent from the Camel - Users mailing list archive at Nabble.com.