Haven't look at the camel code yet, but don't think I need to at this point -
it appears to be working as-documented.

ActiveMQ is expiring inflight messages.  In other words, the following is
happening (from the broker's perspecive):

<ul>
<li> camel consumer for queue.start is started
<li> message produced to broker on queue.start with expiration set
<li> camel consumer receives message
<li> message expires
<li> broker puts message into the DLQ (not sure whether this is expected
operation)
<li> camel route produces message to queue.end
<li> consumer finally acknowledges the message (by a tranaction commit())
<li> message on queue.end expires and is routed to the DLQ
<ul>

Would you mind to take the time to trim down the example to a non-camel test
case which shows an inflight message doing to the DLQ?  Then either you or I
can create a jira entry for this (preferrably you will do it to maintain the
history).

Given that slow consumption is a Very Bad Thing for any JMS solution, and
that delivering an inflight message to a DLQ, from where it might incur
additional processing, is also a Bad Thing, the broker should not be
expiring inflight messages until they return to the broker for reprocessing
(i.e. client does not successfully ACK the message).



--
View this message in context: 
http://activemq.2283324.n4.nabble.com/Behavior-when-a-message-expires-while-it-is-processing-tp4680241p4680263.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to