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 >