Hi all,
we have set up a cluster of machines using ActiveMQ with Master/Slave failover protocol. All messages use a TTL of 120 seconds and if TTL is reached are sent to an individual DLQ. Basically this works fine. However, there is one scenario where the automatic routing of a message to the DLQ does not work: - a client receives message X but cannot commit the message because of some error (e.g. network failure, hardware crash, etc.) - the ActiveMQ master crashes (clients now failover to the slave) - message X reaches its TTL. This can be seen in the JMX counters (EnqueueCount=1, DequeueCount=1, DispatchCount=0, ExpiredCount=1) - message X is not routed to the DLQ as expected, the DLQ remains empty There are no warnings or error messages in the log files. Here is our current broker and DLQ strategy configuration: <broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" persistent="true" masterConnectorURI="tcp://queuemaster:61616" shutdownOnMasterFailure="false"> <policyEntry queue=">" producerFlowControl="true" memoryLimit="1mb"> <deadLetterStrategy> <individualDeadLetterStrategy queuePrefix="todo." processNonPersistent="true" processExpired="true" /> </deadLetterStrategy> </policyEntry> Is there something that has to be addressed in the configuration to support this scenario ? Bye, Daniel