JtxTransaction service1() { assertTotals(0, 0); DbJtxTransaction tx = dbtxm.requestTransaction(new JtxTransactionMode(JtxPropagationBehavior.PROPAGATION_REQUIRED, true)); assertTotals(1, 1); s1 = tx.requestResource(); return tx; }
void service0_1(JtxTransaction uptx) { assertTotals(1, 1); DbJtxTransaction tx = dbtxm.requestTransaction(new JtxTransactionMode(JtxPropagationBehavior.PROPAGATION_SUPPORTS, true)); assertTotals(1, 1); assertEquals(uptx, tx); DbSession s1 = tx.requestResource(); assertEquals(s0, s1); }
void service0() { assertTotals(0, 0); DbJtxTransaction tx = dbtxm.requestTransaction(new JtxTransactionMode(JtxPropagationBehavior.PROPAGATION_REQUIRED, true)); assertTotals(1, 1); s0 = tx.requestResource(); service0_1(tx); tx.commit(); assertTotals(0, 0); }
void service2(JtxTransaction tx1) { assertTotals(1, 1); DbJtxTransaction tx = dbtxm.requestTransaction(new JtxTransactionMode(JtxPropagationBehavior.PROPAGATION_REQUIRES_NEW, true)); assertTotals(2, 2); assertNotSame(tx1, tx); assertNotSame(s1, tx.requestResource()); tx.commit(); assertTotals(1, 1); }
void service3(JtxTransaction tx1) { assertTotals(1, 1); DbJtxTransaction tx = dbtxm.requestTransaction(new JtxTransactionMode(JtxPropagationBehavior.PROPAGATION_REQUIRED, true)); assertEquals(tx1, tx); assertTotals(1, 1); assertEquals(s1, tx.requestResource()); service3_1(tx); assertEquals(s1, tx.requestResource()); assertTotals(1, 1); }
void service3_1(JtxTransaction tx3) { assertTotals(1, 1); DbJtxTransaction tx = dbtxm.requestTransaction(new JtxTransactionMode(JtxPropagationBehavior.PROPAGATION_NOT_SUPPORTED, true)); assertNotSame(tx3, tx); assertTotals(2, 1); assertNotSame(s1, tx.requestResource()); assertNotSame(s1, tx.requestResource()); tx.commit(); assertTotals(1, 1); }