How are you setting up the connection factory for these things? Is this a single broker or some network or brokers?
On Wednesday, June 25, 2014, tikboy <tikboy.balat...@gmail.com> wrote: > Hi > > We have an application that runs on Glassfish 3.1. It uses Camel to publish > a request/reply JMS message to an AMQ broker. The message is then consumed > by a Camel JMS listener running on Fuse 7.0. > > This setup works most of the time but sometimes, when the camel route on > Fuse is sending the reply back, the temporary queue cannot be found and > would throw an "org.springframework.jms.InvalidDestinationException: Cannot > publish to a deleted Destination" exception. A redelivery would be > attempted > by the camel route on Fuse up to 5 times (base on our policy). Eventually > the response would be delivered after a couple of retries. > > I initially thought that the connection between the Glassfish Camel route > to > AMQ had already broken causing the temporary queue to be deleted but base > on > what had happened, Glassfish was able to process the response sent by Fuse > even after it caught an InvalidDestinationException and doing a couple of > retries. > > Can somebody please enlighten me on what might have happened causing this > behavior? > > Camel route on Glassfish that sends messages to AMQ > <route autoStartup="true" id="SendEmailMapRoute"> > <from uri="direct:SendEMailMapStart"/> > <to > > uri="activemq:queue:com.mycompany.router.RouterService?disableTimeToLive=true&requestTimeout=180000"/> > <camel:process ref="ClientResponseProcessor"/> > </route> > > > Camel route on Fuse that processes messages received from AMQ > @Override > public void configure() throws Exception { > > from("activemq:queue:com.mycompany.router.RouterService") > .setExchangePattern(ExchangePattern.InOut) > .doTry() > .log(LoggingLevel.INFO, "Dedicated Channel JMS > request received ${id}") > .log(LoggingLevel.INFO, "Dedicated Channel JMS > request headers: > ${headers}") > .log(LoggingLevel.DEBUG, "Dedicated Channel JMS > request body: ${body}") > > .to("nmr:preProcessor") > .to("nmr:validateMessage") > .to("nmr:serviceEndpoint") > .to("nmr:postProcessor") > .to("nmr:processSuccess") > > .log(LoggingLevel.DEBUG, "Dedicated Channel JMS > response body: ${body}") > .doCatch(HTTPException.class, SocketException.class, > SocketTimeoutException.class) > .to("nmr:processFailException") > .throwException(new EaiPlatformException("Unable > to communicate with the > server.")) > .doCatch(SoapFault.class) > .to("nmr:processSuccessException") > .doCatch(Exception.class) > .to("nmr:processFailException") > ; > } > > Stack Trace: > 2014-06-25 19:19:10,158 | WARN | TION_LIST_EVENT] | > EndpointMessageListener > | 139 - org.apache.camel.camel-core - 2.9.0.fuse-70-097 | 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:pksprodcl1app01-64463-1403693883558 > -0:3:1; nested exception is javax.jms.InvalidDestinationException: Cannot > publish to a deleted Destination: > temp-queue://ID:pksprodcl1app01-64463-1403693883558-0:3:1] > org.apache.camel.RuntimeCamelException: > org.springframework.jms.InvalidDestinationException: Cannot publish to a > deleted Destination: > temp-queue://ID:pksprodcl1app01-64463-1403693883558-0:3:1; > nested exception is javax.jms.InvalidDestinationException: Cannot publish > to a deleted Destination: > temp-queue://ID:pksprodcl1app01-64463-1403693883558-0:3:1 > at > > org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1277)[139:org.apache.camel.camel-core:2.9.0.fuse-70-097] > at > > org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:125)[146:org.apache.camel.camel-jms:2.9.0.fuse-70-097] > at > > org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:560)[145:org.springframework.jms:3.0.7.RELEASE] > at > > org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:498)[145:org.springframework.jms:3.0.7.RELEASE] > at > > org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:467)[145:org.springframework.jms:3.0.7.RELEASE] > at > > org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:325)[145:org.springframework.jms:3.0.7.RELE > ASE] > at > > org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:243)[145:org.springframework.jms:3.0.7.RELEAS > E] > at > > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1058)[145:org.springframework.jms:3. > 0.7.RELEASE] > at > > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1050)[145: > org.springframework.jm > s:3.0.7.RELEASE] > at > > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:947)[145:org.springframework.jms:3.0.7.RELEASE] > at > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)[:1.6.0_45] > at > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)[:1.6.0_45] > at java.lang.Thread.run(Thread.java:662)[:1.6.0_45] > Caused by: org.springframework.jms.InvalidDestinationException: Cannot > publish to a deleted Destination: > temp-queue://ID:pksprodcl1app01-64463-1403693883558-0:3:1; nested exception > is javax.jm > s.InvalidDestinationException: Cannot publish to a deleted Destination: > temp-queue://ID:pksprodcl1app01-64463-1403693883558-0:3:1 > at > > org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:285)[145:org.springframework.jms:3.0.7.RELEASE] > at > > org.springframework.jms.support.JmsAccessor.convertJmsAccessException(JmsAccessor.java:168)[145:org.springframework.jms:3.0.7.RELEASE] > at > > org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:469)[145:org.springframework.jms:3.0.7.RELEASE] > at > > org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.send(JmsConfiguration.java:197)[146:org.apache.camel.camel-jms:2.9.0.fuse-70-097] > at > > org.apache.camel.component.jms.EndpointMessageListener.sendReply(EndpointMessageListener.java:353)[146:org.apache.camel.camel-jms:2.9.0.fuse-70-097] > at > > org.apache.camel.component.jms.EndpointMessageListener$EndpointMessageListenerAsyncCallback.done(EndpointMessageListener.java:206)[146:org.apache.camel.camel-jms:2.9.0.fuse-70-097] > at > > org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:108)[146:org.apache.camel.camel-jms:2.9.0.fuse-70-097] > ... 11 more > Caused by: javax.jms.InvalidDestinationException: Cannot publish to a > deleted Destination: > temp-queue://ID:pksprodcl1app01-64463-1403693883558-0:3:1 > at > > org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1705)[120:org.apache.activemq.activemq-core:5.5.1.fuse-70-097] > at > > org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:231)[120:org.apache.activemq.activemq-core:5.5.1.fuse-70-097] > at > > org.apache.activemq.pool.PooledProducer.send(PooledProducer.java:74)[114:org.apache.activemq.activemq-pool:5.5.1.fuse-70-097] > at > > org.apache.activemq.pool.PooledProducer.send(PooledProducer.java:59)[114:org.apache.activemq.activemq-pool:5.5.1.fuse-70-097] > at > > org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:592)[145:org.springframework.jms:3.0.7.RELEASE] > at > > org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.doSend(JmsConfiguration.java:275)[146:org.apache.camel.camel-jms:2.9.0.fuse-70-097] > at > > org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.doSendToDestination(JmsConfiguration.java:214)[146:org.apache.camel.camel-jms:2.9.0.fuse-70-097] > at > > org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.access$100(JmsConfiguration.java:156)[146:org.apache.camel.camel-jms:2.9.0.fuse-70-097] > at > > org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate$4.doInJms(JmsConfiguration.java:199)[146:org.apache.camel.camel-jms:2.9.0.fuse-70-097] > at > > org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:466)[145:org.springframework.jms:3.0.7.RELEASE] > ... 15 more > > > > > -- > View this message in context: > http://activemq.2283324.n4.nabble.com/Getting-a-Cannot-publish-to-a-deleted-Destination-but-eventually-works-after-a-couple-of-retries-tp4682497.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com. > -- *Christian Posta* http://www.christianposta.com/blog http://fabric8.io twitter: @christianposta