You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2013/10/30 10:34:25 UTC

[jira] [Resolved] (AMQ-4687) Rar losing messages when there is a XA trx timeout (jboss)

     [ https://issues.apache.org/jira/browse/AMQ-4687?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Claus Ibsen resolved AMQ-4687.
------------------------------

    Resolution: Duplicate

Duplicate of AMQ-4634

If you want to backport a fix on AMQ 5.6, then you need to do this yourself.
AMQ 5.6 is not active supported at Apache.

For long term support then you can check out some of the commercial support / vendors
http://activemq.apache.org/support.html

> Rar losing messages when there is a XA trx timeout (jboss) 
> -----------------------------------------------------------
>
>                 Key: AMQ-4687
>                 URL: https://issues.apache.org/jira/browse/AMQ-4687
>             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 https://issues.apache.org/jira/browse/AMQ-4634 but is possible move this fix into version ActiveMQ 5.6 ?
> Regards



--
This message was sent by Atlassian JIRA
(v6.1#6144)