Great, thank you for doing that. Tim
On Wed, Nov 27, 2019, 1:36 AM Viliam Durina <vil...@hazelcast.com> wrote: > Done: https://issues.apache.org/jira/browse/AMQ-7354 > > On Wed, 27 Nov 2019 at 07:44, Tim Bain <tb...@alumni.duke.edu> wrote: > > > This sounds like a valid bug. Could you please submit a bug report for it > > in JIRA? > > > > Thanks, > > Tim > > > > On Tue, Nov 26, 2019 at 2:53 AM Viliam Durina <vil...@hazelcast.com> > > wrote: > > > > > I'm doing these steps: > > > > > > Xid xid1, xid2; > > > XASession session = ...; > > > MessageConsumer consumer = ...; > > > XAResource xaRes = session.getXAResource(); > > > > > > xaRes.start(xid1, TMNOFLAGS); > > > consumer.receive(); > > > xaRes.end(xid1, TMSUCCESS); > > > // prepare the xid1, continue with xid2 > > > xaRes.prepare(xid1); > > > xaRes.start(xid2); > > > // receive one more item > > > consumer.receive(); > > > // commit the first transaction > > > xaRes.commit(xid1, false); > > > > > > The issue is that the last `commit` should commit only the first > received > > > message. But it commits also the message received using the xid2 > > > transaction. > > > > > > As far as I can tell the above behavior is legal. That's why the > `commit` > > > method has the `Xid` argument: to tell which transaction are we > > committing. > > > The `receive` method uses the transaction associated currently with the > > > session. It also works with ActiveMQ Artemis. > > > > > > Viliam > > > > > >