20172018201920202021202220232024202520262027
m2 = (TextMessage)cons.receive(MAX_TIMEOUT); assertNotNull(m2); assertEquals("XATest2", m2.getText()); tx.delistResource(res, XAResource.TMSUCCESS); tx.delistResource(res2, XAResource.TMSUCCESS); tm.rollback(); // Message should be redelivered
20382039204020412042204320442045204620472048
assertNotNull(m3); assertEquals("XATest2", m3.getText()); assertTrue(m3.getJMSRedelivered()); tx.delistResource(res, XAResource.TMSUCCESS); tx.delistResource(res2, XAResource.TMSUCCESS); tm.commit(); }
20392040204120422043204420452046204720482049
assertEquals("XATest2", m3.getText()); assertTrue(m3.getJMSRedelivered()); tx.delistResource(res, XAResource.TMSUCCESS); tx.delistResource(res2, XAResource.TMSUCCESS); tm.commit(); } finally
20822083208420852086208720882089209020912092
Message m = sess.createTextMessage("XATest1"); prod.send(queue1, m); m = sess.createTextMessage("XATest2"); prod.send(queue1, m); tx.delistResource(res, XAResource.TMSUCCESS); tm.commit(); conn2 = cf.createConnection(); conn2.start();
21342135213621372138213921402141214221432144
Message m = sess.createTextMessage("XATest1"); prod.send(queue1, m); m = sess.createTextMessage("XATest2"); prod.send(queue1, m); tx.delistResource(res, XAResource.TMSUCCESS); tm.rollback(); conn2 = cf.createConnection(); conn2.start();
21972198219922002201220222032204220522062207
m2 = (TextMessage)cons.receive(MAX_TIMEOUT); assertNotNull(m2); assertEquals("XATest2", m2.getText()); tx.delistResource(res, XAResource.TMSUCCESS); tm.commit(); // New tx tm.begin();
22102211221222132214221522162217221822192220
Message m3 = cons.receive(MIN_TIMEOUT); assertNull(m3); tx.delistResource(res, XAResource.TMSUCCESS); tm.commit(); } finally {
22662267226822692270227122722273227422752276
m2 = (TextMessage)cons.receive(MAX_TIMEOUT); assertNotNull(m2); assertEquals("XATest2", m2.getText()); tx.delistResource(res, XAResource.TMSUCCESS); tm.rollback(); // Message should be redelivered
22892290229122922293229422952296229722982299
assertNotNull(m3); assertEquals("XATest2", m3.getText()); assertTrue(m3.getJMSRedelivered()); tx.delistResource(res, XAResource.TMSUCCESS); tm.commit(); } finally
23562357235823592360236123622363236423652366
TextMessage r2 = (TextMessage)cons2.receive(MAX_TIMEOUT); assertNotNull(r2); assertEquals("jellyfish2", r2.getText()); tx.delistResource(res1, XAResource.TMSUCCESS); tx.delistResource(res2, XAResource.TMSUCCESS); // commit tm.commit();