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

Claus Ibsen commented on AMQ-3830:
----------------------------------

Antonia

You have marked this ticket with [x] as patch available. But there is no 
patches.
                
> RAR Transacted Message Delivery (Option B JCA Spec 13-30) fail to manage 
> Timeoutexception
> -----------------------------------------------------------------------------------------
>
>                 Key: AMQ-3830
>                 URL: https://issues.apache.org/jira/browse/AMQ-3830
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Connector
>    Affects Versions: 5.5.1, 5.6.0
>         Environment: Linux - JBoss 5.5.1 or JBoss 7.1.1 - ActiveMQ 5.5.1/5.6.0
>            Reporter: Antonio D'Errico
>
> The MDB receives a message within an XA transaction.
> If a timeout occurs, the application server transaction manager move the 
> transaction state to aborted and after ended, rollbacking changes and 
> resetting the transaction id. 
> Everything done after delivery of the message is resetted to its initial 
> state.
> When, however, the control returns to ActiveMQSession the transactionContext 
> has been cleaned up so a new local transaction is started.
> At this point is invoked the method ServerSessionImpl.afterDelivery and the 
> the proxy MessageEndpoint (JBoss instance) starts the afterDelivery stuff. 
> The application server transaction manager tries to commit a transaction that 
> is already ROLLED_BACK and rise an exception. Returning to  
> ServerSessionImpl.afterDelivery the exception is catched and is executed the 
> finally block, the transaction context is marked as a local so is done a 
> local commit that remove the message from the input queue. 
> As result the message has been consumed (lost) but not processed.
> My solution to avoid this problem is to manage in different way the exception 
> (that contains server side information about transaction) to understand if we 
> need to commit or not.

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

Reply via email to