Atomikos Forum |
|
We have the identical problem reported here: default82df.html?community.6.250.5.
We are using Transaction Essentials 3.9.2, configured with a non-xa datasource, and an XA TibcoJMS resource. The correct commit sequence for last gambit support is: 1. Prepare XA resource(s) 2. Commit non-xa resource 3. Commit XA resource(s) 4. Terminate transaction DEBUG logs show that most of the time the above sequence is used. However, occasionally the commit sequence is incorrect, and step 2 and 3 are reversed, i.e., 1. Prepare TibJMS (XA resource) 2. Commit TibcoJMS (XA resource) 3. Commit non-xa Datasource 4. Terminate transaction In addition, the commits occur in the sequence in which "addParticipant" is invoked on CompositeTransactionImp. Atomikos should consistently commit the non-xa resource first.
We sometimes have the problem, below:
The following happens inside a transaction: -record is inserted into the database -jms message sent to a queue with PK from record above When the message is received by the JMS listener from the queue above and it tries to retrieve the record by the PK, occasionally, the record is not found. This can only occur if the jms message is committed before the database update is, which should not happen in a proper transaction |