activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Claus Ibsen (JIRA)" <>
Subject [jira] [Commented] (AMQ-4687) Rar losing messages when there is a XA trx timeout (jboss)
Date Wed, 30 Oct 2013 09:32:25 GMT


Claus Ibsen commented on AMQ-4687:

Have you tried with AMQ 5.9. There has been some improvements/fixes in the RAR and XA.

> Rar losing messages when there is a XA trx timeout (jboss) 
> -----------------------------------------------------------
>                 Key: AMQ-4687
>                 URL:
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.6.0
>         Environment: Jboss 6.0.1, JDK 1.6, ActiveMQ 5.6
>            Reporter: Juan Manuel Lopez
>            Priority: Critical
>             Fix For: 5.x
> ActiveMQ does a trx commit when there is a transaction timeout (EJBTransactionRolledbackException).
In this way we are losing messages when there is any timeout.
> We have seen that the activemq connections are enlist in XA.
> The attribute transactionContext from ActiveMQSession class has the global transaction
reference (xid) before calling the MDB (messageListener.onMessage(message)).
> When the timeout is reached and the RuntimeException is throwned, the transactionContext
losed the xid reference.
> Later, when ActiveMQSession call the method transactionContext.isInXATransaction() the
result is false because there is no xid reference.
> This situation only happened when the MDB calls other EJB (Stateless) with CMT - TransactionAttributeType.REQUIRES_NEW,
and the exception is throwed inside the Stateless.
> I've tried to reproduce this without calling the stateless ejb but it works well.
> The ActiveMQSession class should retain the original transactionContext.
> I found these is the same problem jira
but is possible move this fix into version ActiveMQ 5.6 ?
> Regards

This message was sent by Atlassian JIRA

View raw message