[ https://issues.apache.org/jira/browse/AMQ-6454?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15551708#comment-15551708 ]
Gary Tully commented on AMQ-6454: --------------------------------- This essentially comes down to being able to do the following: {code} consumer.close(); message.acknowledge(); {code} Deferring the close till the session closes makes this work but there are many tests that demo uses cases where close is expected to release un-acked messages. I think we can't break this expectation so it would need to be configurable (yet another option). As an alternative, we can make message.acknowledge(); fail if the consumer is closed. This will ensure that the is no false positive from the acknowledge call. Would that be sufficient for your use case? > Message is redelivered after succesfull acknowledge() > ----------------------------------------------------- > > Key: AMQ-6454 > URL: https://issues.apache.org/jira/browse/AMQ-6454 > Project: ActiveMQ > Issue Type: Bug > Affects Versions: 5.14.1 > Reporter: Yuriy > Attachments: activemq-bug.zip > > > JMS message is redelivered after successful call of acknowledge(). > The following methods are invoked: > Thread1 : Message message = consumer.receive(); > Thread2 : consumer.close(); > Thread1: message.acknowledge(); > All the methods return successfully but the message is redelivered on the > next receive() call. Note that consumer.close() is typically used to force > consumer.receive() to return. > According to JMS specification the scope of message acknowledge() call is > session (not message consumer): > https://docs.oracle.com/javaee/7/api/javax/jms/Message.html#acknowledge-- > A simple program to reproduce the bug is attached. > Observed behavior: > Message is redelivered. > Program output: > ============ > Message sent. Id=ID:comp-63860-1475602285903-1:1:1:1:1 > Message received. Id=ID:comp-63860-1475602285903-1:1:1:1:1. Text=Welcome! > Message succesfully acknowledged > Message received. Id=ID:comp-63860-1475602285903-1:1:1:1:1. Text=Welcome! > Message succesfully acknowledged > Expected behavior: > Message should be delivered only once. -- This message was sent by Atlassian JIRA (v6.3.4#6332)