Test Overview
Using this reproducer, please try following 4 tests. Detailed instruction to setup/run reproducer is guided at the end of this section.
Test 1
Using <delay> component and fixing com.arjuna.ats.arjuna.coordinator.defaultTimeout(3), transaction timeout occurs at all the time.
So none of aggregate should be completed.
The test result is all of messages are aggregated, and there are 2 files under /tmp/output directory.
I guess the reason is <transacted/> is JTA transaction, thus DataSourceTransactionManager could not join the JTA transaction.
blueprint.xml
org.ops4j.datasource-reproducer.cfg
Test 2
For Test 2,fix the transaction manager from DataSourceTransactionManager to PlatformTransactionManager.
With this settings, none of messages was aggregated. So there is no file under /tmp/output directory. It looks good, but not so really.
blueprint.xml
Test 3
Now, Test 3 is for success pattern test with the test 2 settings. This route would aggregate all of messages.
Please comment out the <delay> component for sleep, and set back to default com.arjuna.ats.arjuna.coordinator.defaultTimeout.
The result was none of message was aggregated. There is no file under /tmp/output directory.
blueprint.xml
org.ops4j.datasource-reproducer.cfg
Test 4
believe or not, please fix the datasource settings file to enable xa option.
With this setting, it works as expected.
blueprint.xml
org.ops4j.datasource-case02383718.cfg
Detailed Instruction For This Reproducer
(1) setup Postgresql
(2) build reproducer
(3) set up Fuse 7.2 standalone karaf