I have a .NET consumer listening for messages.  The operation fails and
message is rolled back and retries.  This happens over and over and I'm
happy with that.  But eventually the time to live expires and I expect the
retrying to stop.

What happens is the ActiveMQ server does push this message into the DLQ but
the client did not notice this and it keeps retrying.  This also results in
repeated errors in the activemq.log:

2011-03-15 11:05:33,446 | WARN  | ignoring ack MessageAck {commandId =
14875, responseRequired = false, ackType = 2, consumerId =
ID:abc-05-4864-634357153348730772-1:0:2:1, firstMessageId =
ID:abc-05-4864-634357153348730772-1:0:3:1:1, lastMessageId =
ID:abc-05-4864-634357153348730772-1:0:3:1:1, destination =
queue://bms.GetBatchResponse, transactionId =
TX:ID:abc-05-4864-634357153348730772-1:0:1922, messageCount = 1}, for
already expired message: Message ID:abc-05-4864-634357153348730772-1:0:3:1:1
dropped=true acked=true locked=false |
org.apache.activemq.broker.region.QueueSubscription | ActiveMQ Transport:
tcp:///234.11.234.101:4865

The same this happens when the message on the activeMQ server is deleted
using the ActiveMQ Administration web site.  Even though the message is gone
on the server, the client continues to retry it.

--
View this message in context: 
http://activemq.2283324.n4.nabble.com/NMS-1-5-client-not-recognizing-expired-messages-tp3357650p3357650.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to