[
https://issues.apache.org/jira/browse/AMQ-7464?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Gary Tully resolved AMQ-7464.
-----------------------------
Resolution: Fixed
> ServerSession run does not copy message before dispatch; rollback delivered
> ack messageId can get corrupted by direct forward, leading to "Could not
> correlate acknowledgment with dispatched message" JMSException
> --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: AMQ-7464
> URL: https://issues.apache.org/jira/browse/AMQ-7464
> Project: ActiveMQ
> Issue Type: Bug
> Components: JCA Container, JMS client
> Affects Versions: 5.15.0
> Reporter: Gary Tully
> Assignee: Gary Tully
> Priority: Major
> Fix For: 5.16.0
>
>
> An MDB, that directly forwards its message can lead to unmatched acks on
> rollback.
> {code}
> .. onMessage(Message m) {
> producer.send(m);
> ..
> }{code}
> The root cause is ServerSession.run not doing a message copy before up call
> to the listener.
> An unmatched delivered ACK causes a broker error and JMS exception "Could not
> correlate acknowledgment with dispatched message".
> That error closes the connection which prevents normal rollback and
> redelivery processing.
> The fix is to copy, in the same way as a regular message consumer, such that
> the application is free to do what every it wants to the message.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)