xid1 = tm.createXid(XAResourceWrapper::getJndiName(xar1)) xar1.prepare(xid1) xid2 = tm.createXid(XAResourceWrapper::getJndiName(xar2)) xar2.prepare(xid2) tm.log(tx1{xid1, xid2}) xar1.commit(xid1) -- xar1 will delete its record of xid1 xar2.commit(xid2) -- xar2 will delete its record of xid2 tm.deleteLog(tx1) xid1 = tm.createXid(XAResourceWrapper::getJndiName(xar1)) xar1.prepare(xid1) xid2 = tm.createXid(XAResourceWrapper::getJndiName(xar2)) xar2.prepare(xid2) xid3 = tm.createXid(XAResourceWrapper::getJndiName(xar3)) xar3.commit(xid3) tm.log(tx1{xid1, xid2}) xar1.commit(xid1) -- xar1 will delete its record of xid1 xar2.commit(xid2) -- xar2 will delete its record of xid2 tm.deleteLog(tx1)