Hi, we are using the qpid-jms client with Artemis 2.6. I am having big troubles getting message rejection/redelivery working as expected. I already opened an issue against Artemis https://issues.apache.org/jira/browse/ARTEMIS-1618 (https://issues.apache.org/jira/browse/ARTEMIS-1618)but the more I play around with my test case the more I wonder if it may be an issue in qpid-jms itself.
What I am basically looking for is to consume messages with a MessageListener where in case of an unexpected error during message processing the onMessage() method throws a runtime exception that eventually signals to the broker that the message was not acknowledged. The broker then should try to redeliver the message 3 times and then put it into a pre-configured DLQ. I played around with all kind combination of session modes incl. qpid-jms specific ones and different qpid-jms redeliveryPolicy settings but I am not getting any further. For example when I set the session mode to AUTO_ACKNOWLEDGE in qpid-jms, the message seems to be redelivered locally indefinitely. When I use any other session mode the message is not consumed a second time. The Artemis JIRA issue contains a simple unit test case that can be used to easily reproduce the problem I am having. https://issues.apache.org/jira/secure/attachment/12926230/Artemis1618_AmqpDeadLettering_Test.java (https://issues.apache.org/jira/secure/attachment/12926230/Artemis1618_AmqpDeadLettering_Test.java) I would really appreciate if someone could have a look at it and give me a hint on whether this looks like a bug/limitation in qpid-jms, or if I am doing something completely wrong, or if it seems to be a broker implementation issue. Thanks! Regards, Johan
