[
https://issues.apache.org/jira/browse/AMQ-3305?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Gary Tully resolved AMQ-3305.
-----------------------------
Resolution: Fixed
fix in http://svn.apache.org/viewvc?rev=1100208&view=rev
camel xml with route from jms queue to jdbc that does XA is at:
http://svn.apache.org/viewvc/activemq/trunk/activemq-camel/src/test/resources/org/apache/activemq/camel/jmsXajdbc.xml?view=markup
> Implement "exactly once" delivery with kahaDB and XA in the event of a
> failure post prepare
> -------------------------------------------------------------------------------------------
>
> Key: AMQ-3305
> URL: https://issues.apache.org/jira/browse/AMQ-3305
> Project: ActiveMQ
> Issue Type: Improvement
> Components: Message Store
> Affects Versions: 5.5.0
> Environment: XA (with Geronimo for TM in the camel route test)
> Reporter: Gary Tully
> Assignee: Gary Tully
> Labels: 2pc, XA, camel, geronimo
> Fix For: 5.6.0
>
>
> With XA 2PC, a camel route, jms 'to' jdbc should ensure exactly once delivery
> to jdbc. In the event of a failure after prepare, where commit to jdbc is
> done, the jms message must remain with a pending ack till the commit outcome
> is relayed from the transaction manager.
> Current versions of geronimo will correctly retry the commit in a timer
> thread, so activemq eventually gets the commit outcome after recovery. (btw:
> it looks like howl will not persist a commit outcome per NamedXAResource, so
> after a failure of the TM it may consier the transaction completed and the
> message may still be pending, need to check that!)
> At the moment, ActiveMQ does a heuristic rollback after recovery which leads
> to message redelivery in error.
> With the fix, an acked message remains pending awaiting the outcome. On
> commit, the message is acked. On rollback the message is available for
> redelivery.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira