[ https://issues.apache.org/jira/browse/QPID-4302?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Robbie Gemmell resolved QPID-4302. ---------------------------------- Resolution: Fixed Looks good to me. > 0-8..0-9-1 client should sync after message.acknowledge() > --------------------------------------------------------- > > Key: QPID-4302 > URL: https://issues.apache.org/jira/browse/QPID-4302 > Project: Qpid > Issue Type: Bug > Components: Java Broker > Affects Versions: 0.6, 0.8, 0.10, 0.12, 0.14, 0.16, 0.18 > Reporter: Keith Wall > Assignee: Robbie Gemmell > Fix For: 0.19 > > > In 0-8..0-9-1 protocols, message acknowledgement (BasicAck) is async by > design. There is no BasicAckOk. This presents a problem for JMS CLIENT_ACK > mode. When Message#acknowledge() returns the spec requires that the Broker > has processed the ack and the client won't see the message(s) again. > Currently calling Message#acknowledge() merely puts the command in buffer to > be put on the wire later by the IoSender. There is no assurance that the > Broker has even received the command let alone process it successfully. > The client should be changed to sync() once before returning the the client > to give assurance that the Broker has received and processed the commands. > For the 0-8..0-9-1 code paths acknowledgement of messages in CLIENT_ACK mode > might not happen immediately in Message#acknowledge. It should be updated to > acknowledge messages synchronously. There will be a system property to > allow the old behaviour to be restored if so desired. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org