Thanks Claus. That looks exactly like what I’ve been seeing.
I’ll upgrade and see if that makes a difference.



On 03/10/2013 17:17, "Claus Ibsen" <claus.ib...@gmail.com> wrote:

>There has been some fixes/improvements in camel-jms. Such as
>https://issues.apache.org/jira/browse/CAMEL-5865
>
>So you can try upgrading your Camel version
>
>On Thu, Oct 3, 2013 at 2:37 PM, Jack Perrett <jrmpatw...@gmail.com> wrote:
>> Hi,
>>
>> I have a cluster of brokers and have noticed some problems during
>>failover
>> situations that I¹m uncertain how to handle.
>>
>> I use request/reply with the default temporary queue mechanism provided
>>by
>> camel:
>>
>> producerTemplate.requestBody(myMessage);
>>
>>
>>
>> Under certain conditions this seems to be dispatching messages with a
>> replyTo queue that no longer exists. The logs of the system replying
>>contain
>> the following stacktrace:
>>
>>
>>
>> Caused by: javax.jms.InvalidDestinationException: Cannot publish to a
>> deleted Destination:
>>temp-queue://ID:testbrk01-53600-1380629398120-5:39:1
>>
>>         at
>> org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1721)
>>
>>         at
>> 
>>org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.
>>jav
>> a:277)
>>
>>         at
>> 
>>org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.
>>jav
>> a: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(J
>>msC
>> onfiguration.java:278)
>>
>>         at
>> 
>>org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.doSendTo
>>Des
>> tination(JmsConfiguration.java:217)
>>
>>         at
>> 
>>org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.access$1
>>00(
>> JmsConfiguration.java:159)
>>
>>         at
>> 
>>org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate$4.doInJm
>>s(J
>> msConfiguration.java:202)
>>
>>         at
>> org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:466)
>>
>>
>>
>> When it gets into this state the problem will persist for the lifetime
>>of
>> the producer system. Only a system restart fixes it.
>>
>> It¹s also worth noting that the brokers are configured with
>> cacheTempDestinations=true (although AFAIK this only applies to broker
>> restarts < 5 seconds by default).
>>
>>
>>
>> 1. Why does the producer system continue to dispatch messages with
>>deleted
>> replyTo queue and is there anyway to prevent this?
>>
>> 2. With a broker cluster are temporary queues shared across brokers?
>>
>> * So if the broker that created the temp queue gets restarted would the
>>temp
>> queue persist if other brokers stay up in the cluster?
>>
>> 3. Is it just a bad idea to be using temp queues for request reply in
>> failover situation?
>>
>>
>>
>> If anyone has any insight I¹d be very grateful.
>>
>> We¹re using camel 2.10.3  & activemq 5.8.0.
>>
>>
>>
>> Thanks in advance!
>>
>>
>>
>> Jack
>>
>>
>>
>>
>>
>
>
>
>-- 
>Claus Ibsen
>-----------------
>Red Hat, Inc.
>Email: cib...@redhat.com
>Twitter: davsclaus
>Blog: http://davsclaus.com
>Author of Camel in Action: http://www.manning.com/ibsen


Reply via email to