[
https://issues.apache.org/activemq/browse/AMQ-1593?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=49051#action_49051
]
Gary Tully commented on AMQ-1593:
---------------------------------
scrap the license request, I have been able to reproduce with a simple test
case. thanks.
> redeliveryCounter not updated correctly when using XA transactions and Spring
> -----------------------------------------------------------------------------
>
> Key: AMQ-1593
> URL: https://issues.apache.org/activemq/browse/AMQ-1593
> Project: ActiveMQ
> Issue Type: Bug
> Affects Versions: 5.0.0
> Environment: Mac OS X 10.4, Java 1.6 DP1
> Reporter: Sven Panko
> Assignee: Gary Tully
> Fix For: 5.3.0
>
> Attachments: activemq-redeliverytest.zip
>
>
> When using ActiveMQ 5 in combination with XA, I noticed that redelivery of
> messages is not correctly performed. I am using XA in combination with
> Spring's DefaultMessageListenerContainer (DMLC) and have a simple test case
> in which the MessageListener throws an IllegalStateException which triggers a
> transaction rollback. After that, the message is redelivered, but
> unfortunately not as many times as my redelivery policy specifies. I am using
> the following settings:
> - maximumRedeliveries=3
> - initialRedeliveryDelay=10
> If I am not mistaken this means I should receive the message 4 times (once
> initially and then three times redelivered), but I only get it three times.
> When I log the messages I receive prior to throwing an ISE, I see the
> following "inconsistency" with the redeliveryCounter: the initial message has
> a counter value of 0, the first redelivery message has a counter value of 2
> and the second redelivery message has a counter value of 4. After that, I do
> not receive an additional message.
> I created a simple test case attached to this issue (a Maven 2 project) which
> is configured with the above settings and shows the described behavior. In
> order to run the test case, however, you need the Bitronix Transaction
> Manager (v 1.2) in your local repository (since it is currently not listed in
> one of the public repositories, you have to download it and put it manually
> into the local repo). The download url is
> http://dist.codehaus.org/btm/1.2/btm-dist-1.2.zip and installation is done by
> unzipping the archive and using
> mvn -Dfile=btm-1.2.jar -DgroupId=btm -DartifactId=btm -Dversion=1.2
> -DgeneratePom=true -Dpackaging=jar install:install-file
> to copy it to the repo.
> Spring's DMLC is set to a cacheLevel of 0 (CACHE_NONE) if an external
> transaction manager is used. If I change the cacheLevel to 2 (CACHE_SESSION)
> then the correct number of messages is delivered and the counter is correctly
> updated, so I am not sure whether this is an issue with ActiveMQ or Spring.
> Anyways, I think I should not loose any messages if I use XA, regardless of
> the cacheLevel setting...
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.