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

Reply via email to