[ 
https://issues.apache.org/jira/browse/AMQ-6454?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15555409#comment-15555409
 ] 

Gary Tully commented on AMQ-6454:
---------------------------------

yes, that would be in the intent. When the broker url is: host:port?jms 
ignoreConsumerCloseOnClientAck=true 
the close would be ignored, session close will call close on all consumers. 
Then the close check in the message.acknowledge would pass and the ack would 
work.

> 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)

Reply via email to