You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by wxkevin <ke...@collabraspace.com> on 2013/03/20 13:24:54 UTC

Warning being thrown after setting preserveMessageQos=true

I am using Camel 2.9.1 and Java DSL.

I attempted to setup an expiration time for my custom message being sent to
a queue such as:

.from(....)
   
   // DO some processing and create message

   .setHeader("JMSExpiration", constant(System.currentTimeMillis() + 3000))
   .setHeader("JMSDeliveryMode", constant(DeliveryMode.NON_PERSISTENT))
   .to("jms.queue.myQueue?preserverMessageQos=true")
   .end();

As soon as this was set up I started to receive warnings in the consumer of
these messages:

WARN | org.springframework.jms.connection.CachingConnectionFactory |
Encountered a JMSException = resetting the underlying JMS Connection
javax.jms.JMSException: Could not correlate acknowledgement with dispatched
message: MessageAck {....}
     at
org.apache.activemq.broker.region.PrefetchSubscription.acknowledge(PrefetchSubscription.java:324)
     at ....
     ....
WARN | org.apache.camel.component.jms.DefaultJmsMessageListenerContainer |
Setup of JMS message listener invoker failed for destination 'myQueue' -
trying to recover. Cause: Could not commit JMS transaction; nested exception
is havax.jms.IllegalStateException: The Session is closed.

Any ideas?







--
View this message in context: http://camel.465427.n5.nabble.com/Warning-being-thrown-after-setting-preserveMessageQos-true-tp5729498.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: Warning being thrown after setting preserveMessageQos=true

Posted by Christian Müller <ch...@gmail.com>.
Do you use transactions?
Do you use inOut or inOnly message exchange pattern?
Did you already checked line 324 in PrefetchSubscription.java? What does it?

Best,
Christian

On Wed, Mar 20, 2013 at 1:24 PM, wxkevin <ke...@collabraspace.com>wrote:

> I am using Camel 2.9.1 and Java DSL.
>
> I attempted to setup an expiration time for my custom message being sent to
> a queue such as:
>
> .from(....)
>
>    // DO some processing and create message
>
>    .setHeader("JMSExpiration", constant(System.currentTimeMillis() + 3000))
>    .setHeader("JMSDeliveryMode", constant(DeliveryMode.NON_PERSISTENT))
>    .to("jms.queue.myQueue?preserverMessageQos=true")
>    .end();
>
> As soon as this was set up I started to receive warnings in the consumer of
> these messages:
>
> WARN | org.springframework.jms.connection.CachingConnectionFactory |
> Encountered a JMSException = resetting the underlying JMS Connection
> javax.jms.JMSException: Could not correlate acknowledgement with dispatched
> message: MessageAck {....}
>      at
>
> org.apache.activemq.broker.region.PrefetchSubscription.acknowledge(PrefetchSubscription.java:324)
>      at ....
>      ....
> WARN | org.apache.camel.component.jms.DefaultJmsMessageListenerContainer |
> Setup of JMS message listener invoker failed for destination 'myQueue' -
> trying to recover. Cause: Could not commit JMS transaction; nested
> exception
> is havax.jms.IllegalStateException: The Session is closed.
>
> Any ideas?
>
>
>
>
>
>
>
> --
> View this message in context:
> http://camel.465427.n5.nabble.com/Warning-being-thrown-after-setting-preserveMessageQos-true-tp5729498.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>



--