You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Alan Foster (JIRA)" <ji...@apache.org> on 2013/04/01 00:37:16 UTC

[jira] [Updated] (CAMEL-6229) InOut ActiveMQ exception Cannot publish to a deleted Destination

     [ https://issues.apache.org/jira/browse/CAMEL-6229?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alan Foster updated CAMEL-6229:
-------------------------------

    Attachment: camel-6229.rar

Attached a sample project which allows you to reproduce this error.

Note, I haven't been create a simple JUnit test that extends CamelBlueprintTestSupport, as I get a lot of strange exceptions - I'm not sure if this is a bug or not, but perhaps someone could shed light on it however?

So currently the steps to reproduce this bug actually depend on it being deployed in a container, sorry

  1) install with :  mvn install -Dmaven.test.skip=true
  2) Deploy to a container
  3) Run the junit test manually a couple of times. Sometimes the test will pass, but it also fails quite frequently

Sorry again that I couldn't get it succesfully running as a JUnit test!
                
> InOut ActiveMQ exception Cannot publish to a deleted Destination
> ----------------------------------------------------------------
>
>                 Key: CAMEL-6229
>                 URL: https://issues.apache.org/jira/browse/CAMEL-6229
>             Project: Camel
>          Issue Type: Bug
>            Reporter: Alan Foster
>            Assignee: Raul Kripalani
>         Attachments: camel-6229.rar
>
>
> When exposing a cxf-rs webservice and attempting to talk to another route, using InOut MEP + ActiveMQ the following exception occurs 
> {code}
> 22:18:14,813 | INFO  | tp1882786420-364 | route1                           | 147 - org.apache.camel.camel-core - 2.10.0.fuse-71-047 | Received a request :: 
> 22:18:14,838 | WARN  | nager[temporary] | faultJmsMessageListenerContainer | 153 - org.springframework.jms - 3.0.7.RELEASE | Setup of JMS message listener invoker failed for destination 'temporary' - trying to recover. Cause: The Consumer is closed
> 22:18:14,849 | INFO  | nager[temporary] | PooledConnection                 | 122 - org.apache.activemq.activemq-pool - 5.7.0.fuse-71-047 | failed to delete Temporary Queue "temp-queue://ID:alan-dell-49913-1364764601861-3:3:3" on closing pooled connection: The connection is already closed
> 22:18:14,850 | INFO  | nager[temporary] | PooledConnection                 | 122 - org.apache.activemq.activemq-pool - 5.7.0.fuse-71-047 | failed to delete Temporary Queue "temp-queue://ID:alan-dell-49913-1364764601861-3:3:4" on closing pooled connection: The connection is already closed
> 22:18:14,850 | INFO  | nager[temporary] | PooledConnection                 | 122 - org.apache.activemq.activemq-pool - 5.7.0.fuse-71-047 | failed to delete Temporary Queue "temp-queue://ID:alan-dell-49913-1364764601861-3:3:5" on closing pooled connection: The connection is already closed
> 22:18:14,850 | INFO  | nager[temporary] | PooledConnection                 | 122 - org.apache.activemq.activemq-pool - 5.7.0.fuse-71-047 | failed to delete Temporary Queue "temp-queue://ID:alan-dell-49913-1364764601861-3:3:6" on closing pooled connection: The connection is already closed
> 22:18:14,850 | INFO  | nager[temporary] | PooledConnection                 | 122 - org.apache.activemq.activemq-pool - 5.7.0.fuse-71-047 | failed to delete Temporary Queue "temp-queue://ID:alan-dell-49913-1364764601861-3:3:7" on closing pooled connection: The connection is already closed
> 22:18:14,850 | INFO  | nager[temporary] | PooledConnection                 | 122 - org.apache.activemq.activemq-pool - 5.7.0.fuse-71-047 | failed to delete Temporary Queue "temp-queue://ID:alan-dell-49913-1364764601861-3:3:8" on closing pooled connection: The connection is already closed
> 22:18:14,851 | INFO  | nager[temporary] | PooledConnection                 | 122 - org.apache.activemq.activemq-pool - 5.7.0.fuse-71-047 | failed to delete Temporary Queue "temp-queue://ID:alan-dell-49913-1364764601861-3:3:2" on closing pooled connection: The connection is already closed
> 22:18:14,851 | INFO  | nager[temporary] | PooledConnection                 | 122 - org.apache.activemq.activemq-pool - 5.7.0.fuse-71-047 | failed to delete Temporary Queue "temp-queue://ID:alan-dell-49913-1364764601861-3:3:1" on closing pooled connection: The connection is already closed
> 22:18:14,851 | INFO  | nager[temporary] | PooledConnection                 | 122 - org.apache.activemq.activemq-pool - 5.7.0.fuse-71-047 | failed to delete Temporary Queue "temp-queue://ID:alan-dell-49913-1364764601861-3:3:9" on closing pooled connection: The connection is already closed
> 22:18:14,851 | INFO  | nager[temporary] | PooledConnection                 | 122 - org.apache.activemq.activemq-pool - 5.7.0.fuse-71-047 | failed to delete Temporary Queue "temp-queue://ID:alan-dell-49913-1364764601861-3:3:10" on closing pooled connection: The connection is already closed
> 22:18:14,857 | WARN  | responseHandler] | faultJmsMessageListenerContainer | 153 - org.springframework.jms - 3.0.7.RELEASE | Setup of JMS message listener invoker failed for destination 'responseHandler' - trying to recover. Cause: The Consumer is closed
> 22:18:14,919 | INFO  | responseHandler] | faultJmsMessageListenerContainer | 153 - org.springframework.jms - 3.0.7.RELEASE | Successfully refreshed JMS Connection
> 22:18:14,927 | INFO  | nager[temporary] | faultJmsMessageListenerContainer | 153 - org.springframework.jms - 3.0.7.RELEASE | Successfully refreshed JMS Connection
> 22:18:14,939 | INFO  | responseHandler] | route2                           | 147 - org.apache.camel.camel-core - 2.10.0.fuse-71-047 | Response handler successfully received a request!
> 22:18:14,943 | WARN  | responseHandler] | EndpointMessageListener          | 147 - org.apache.camel.camel-core - 2.10.0.fuse-71-047 | 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:alan-dell-49913-1364764601861-3:3:10; nested exception is javax.jms.InvalidDestinationException: Cannot publish to a deleted Destination: temp-queue://ID:alan-dell-49913-1364764601861-3:3:10]
> org.apache.camel.RuntimeCamelException: org.springframework.jms.InvalidDestinationException: Cannot publish to a deleted Destination: temp-queue://ID:alan-dell-49913-1364764601861-3:3:10; nested exception is javax.jms.InvalidDestinationException: Cannot publish to a deleted Destination: temp-queue://ID:alan-dell-49913-1364764601861-3:3:10
> 	at org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1271)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
> 	at org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:125)[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$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_27]
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_27]
> 	at java.lang.Thread.run(Thread.java:662)[:1.6.0_27]
> Caused by: org.springframework.jms.InvalidDestinationException: Cannot publish to a deleted Destination: temp-queue://ID:alan-dell-49913-1364764601861-3:3:10; nested exception is javax.jms.InvalidDestinationException: Cannot publish to a deleted Destination: temp-queue://ID:alan-dell-49913-1364764601861-3:3:10
> 	at org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:285)[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:200)[154:org.apache.camel.camel-jms:2.10.0.fuse-71-047]
> 	at org.apache.camel.component.jms.EndpointMessageListener.sendReply(EndpointMessageListener.java:358)[154:org.apache.camel.camel-jms:2.10.0.fuse-71-047]
> 	at org.apache.camel.component.jms.EndpointMessageListener$EndpointMessageListenerAsyncCallback.done(EndpointMessageListener.java:211)[154:org.apache.camel.camel-jms:2.10.0.fuse-71-047]
> 	at org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:108)[154:org.apache.camel.camel-jms:2.10.0.fuse-71-047]
> 	... 11 more
> Caused by: javax.jms.InvalidDestinationException: Cannot publish to a deleted Destination: temp-queue://ID:alan-dell-49913-1364764601861-3:3:10
> 	at org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1731)[125:org.apache.activemq.activemq-core:5.7.0.fuse-71-047]
> 	at org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:277)[125:org.apache.activemq.activemq-core:5.7.0.fuse-71-047]
> 	at org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:212)[125:org.apache.activemq.activemq-core:5.7.0.fuse-71-047]
> 	at org.apache.activemq.pool.PooledProducer.send(PooledProducer.java:79)[122:org.apache.activemq.activemq-pool:5.7.0.fuse-71-047]
> 	at org.apache.activemq.pool.PooledProducer.send(PooledProducer.java:62)[122:org.apache.activemq.activemq-pool:5.7.0.fuse-71-047]
> 	at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:592)[153:org.springframework.jms:3.0.7.RELEASE]
> 	at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.doSend(JmsConfiguration.java:278)[154:org.apache.camel.camel-jms:2.10.0.fuse-71-047]
> 	at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.doSendToDestination(JmsConfiguration.java:217)[154:org.apache.camel.camel-jms:2.10.0.fuse-71-047]
> 	at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.access$100(JmsConfiguration.java:159)[154:org.apache.camel.camel-jms:2.10.0.fuse-71-047]
> 	at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate$4.doInJms(JmsConfiguration.java:202)[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]
> 	... 15 more
> 22:18:35,016 | WARN  | responseHandler] | TemporaryQueueReplyManager       | 154 - org.apache.camel.camel-jms - 2.10.0.fuse-71-047 | Timeout occurred after 20000 millis waiting for reply message with correlationID [Camel-ID-alan-dell-49919-1364764620418-0-215]. Setting ExchangeTimedOutException on (MessageId: ID-alan-dell-49919-1364764620418-0-214 on ExchangeId: ID-alan-dell-49919-1364764620418-0-213) and continue routing.
> 22:18:35,019 | ERROR | responseHandler] | DefaultErrorHandler              | 147 - org.apache.camel.camel-core - 2.10.0.fuse-71-047 | Failed delivery for (MessageId: ID-alan-dell-49919-1364764620418-0-214 on ExchangeId: ID-alan-dell-49919-1364764620418-0-213). Exhausted after delivery attempt: 1 caught: org.apache.camel.ExchangeTimedOutException: The OUT message was not received within: 20000 millis due reply message with correlationID: Camel-ID-alan-dell-49919-1364764620418-0-215 not received. Exchange[Message: [foo.bar.rest.Request@2f417b29]]
> org.apache.camel.ExchangeTimedOutException: The OUT message was not received within: 20000 millis due reply message with correlationID: Camel-ID-alan-dell-49919-1364764620418-0-215 not received. Exchange[Message: [foo.bar.rest.Request@2f417b29]]
> 	at org.apache.camel.component.jms.reply.ReplyManagerSupport.processReply(ReplyManagerSupport.java:133)[154:org.apache.camel.camel-jms:2.10.0.fuse-71-047]
> 	at org.apache.camel.component.jms.reply.TemporaryQueueReplyHandler.onTimeout(TemporaryQueueReplyHandler.java:61)[154:org.apache.camel.camel-jms:2.10.0.fuse-71-047]
> 	at org.apache.camel.component.jms.reply.CorrelationTimeoutMap.onEviction(CorrelationTimeoutMap.java:53)[154:org.apache.camel.camel-jms:2.10.0.fuse-71-047]
> 	at org.apache.camel.component.jms.reply.CorrelationTimeoutMap.onEviction(CorrelationTimeoutMap.java:30)[154:org.apache.camel.camel-jms:2.10.0.fuse-71-047]
> 	at org.apache.camel.support.DefaultTimeoutMap.purge(DefaultTimeoutMap.java:209)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
> 	at org.apache.camel.support.DefaultTimeoutMap.run(DefaultTimeoutMap.java:159)[147:org.apache.camel.camel-core:2.10.0.fuse-71-047]
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)[:1.6.0_27]
> 	at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)[:1.6.0_27]
> 	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)[:1.6.0_27]
> 	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)[:1.6.0_27]
> 	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)[:1.6.0_27]
> 	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)[:1.6.0_27]
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_27]
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_27]
> 	at java.lang.Thread.run(Thread.java:662)[:1.6.0_27]
> 22:18:35,030 | WARN  | tp1882786420-362 | WebApplicationExceptionMapper    | 183 - org.apache.cxf.cxf-rt-frontend-jaxrs - 2.6.0.fuse-71-047 | javax.ws.rs.WebApplicationException: org.apache.camel.ExchangeTimedOutException: The OUT message was not received within: 20000 millis due reply message with correlationID: Camel-ID-alan-dell-49919-1364764620418-0-215 not received. Exchange[Message: [foo.bar.rest.Request@2f417b29]]
> 	at org.apache.camel.component.cxf.jaxrs.CxfRsInvoker.returnResponse(CxfRsInvoker.java:149)
> 	at org.apache.camel.component.cxf.jaxrs.CxfRsInvoker.asyncInvoke(CxfRsInvoker.java:104)
> 	at org.apache.camel.component.cxf.jaxrs.CxfRsInvoker.performInvocation(CxfRsInvoker.java:57)
> 	at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96)
> 	at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:167)
> 	at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:94)
> 	at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
> 	at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:94)
> 	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)
> 	at org.apache.cxf.phase.PhaseInterceptorChain.resume(PhaseInterceptorChain.java:231)
> 	at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:78)
> 	at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:348)
> 	at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:312)
> 	at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:72)
> 	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1040)
> 	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:976)
> 	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
> 	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:193)
> 	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
> 	at org.eclipse.jetty.server.Server.handleAsync(Server.java:403)
> 	at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:488)
> 	at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:79)
> 	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:627)
> 	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:51)
> 	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
> 	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
> 	at java.lang.Thread.run(Thread.java:662)
> Caused by: org.apache.camel.ExchangeTimedOutException: The OUT message was not received within: 20000 millis due reply message with correlationID: Camel-ID-alan-dell-49919-1364764620418-0-215 not received. Exchange[Message: [foo.bar.rest.Request@2f417b29]]
> 	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:209)
> 	at org.apache.camel.support.DefaultTimeoutMap.run(DefaultTimeoutMap.java:159)
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> 	at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
> 	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
> 	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
> 	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)
> 	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> 	... 1 more
> {code}
> Using :
> Camel 2.10
> ActiveMQ Camel 5.7
> cxf 2.6
> Windows 7

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