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 > > >