activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gary Tully <gary.tu...@gmail.com>
Subject Re: XA transaction not working on Broker redelivery.
Date Wed, 17 Apr 2013 10:59:39 GMT
maybe try and build a junit test case and drive the xa transaction
completion via code, see
org.apache.activemq.broker.XARecoveryBrokerTest  for an example and
combine it with org.apache.activemq.broker.BrokerRedeliveryTest from
activemq-unit-tests

Note, the broker redelivery resends the message to the original
destination, so it should get consumed again in a different xa
transaction.


On 15 April 2013 15:11,  <guillaume.surrel@orange.com> wrote:
> Hello,
>
> I'm having some troubles using redelivery plugin and XA transactions. I'm using a spring
listener-container and JtaTransactionManager in an application server. I'm using ActiveMQ
5.8.0.
>
> When the listener receives the message, we write it into a database and send a response
message during the transaction. In order to test the rollback of the transaction, we throw
an exception before the end of transaction.
>
> When using client redelivery (jms.redeliveryPolicy.maximumRedeliveries=3), everything
works as expected: the response message is not sent and the message is not persisted.
>
> But when using broker redelivery plugin, the behavior is different. After the redelivery
delay, the message is sent again but the XA is not working anymore on the messaging side:
the response message is sent anyway. So after sending 1 message,  I end up with 1 message
in my dead letter queue (expected), an empty database (expected), and various duplicate message
responses (should be 0).
>
> This is my configuration of the redelivery plugin :
> <plugins>
>    <redeliveryPlugin fallbackToDeadLetter="true" sendToDlqIfMaxRetriesExceeded="true">
>      <redeliveryPolicyMap>
>        <redeliveryPolicyMap>
>          <defaultEntry>
>            <redeliveryPolicy maximumRedeliveries="6" redeliveryDelay="10000" />
>          </defaultEntry>
>        </redeliveryPolicyMap>
>      </redeliveryPolicyMap>
>    </redeliveryPlugin>
> </plugins>
>
> Has anyone experienced similar problems ? Am I missing something about broker redelivery
?
>
> Thank you,
> Guillaume
>
> _________________________________________________________________________________________________________________________
>
> Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou
privilegiees et ne doivent donc
> pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message
par erreur, veuillez le signaler
> a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques
etant susceptibles d'alteration,
> France Telecom - Orange decline toute responsabilite si ce message a ete altere, deforme
ou falsifie. Merci.
>
> This message and its attachments may contain confidential or privileged information that
may be protected by law;
> they should not be distributed, used or copied without authorisation.
> If you have received this email in error, please notify the sender and delete this message
and its attachments.
> As emails may be altered, France Telecom - Orange is not liable for messages that have
been modified, changed or falsified.
> Thank you.
>



-- 
http://redhat.com
http://blog.garytully.com

Mime
View raw message