/** * Creates db jtx manager and registers new {@link DbJtxResourceManager}. */ public DbJtxTransactionManager(final ConnectionProvider connectionProvider) { this(new DbJtxResourceManager(connectionProvider)); }
@Test void testThread() { final JtxTransactionManager manager = new JtxTransactionManager(); manager.registerResourceManager(new DbJtxResourceManager(cp)); final int[] count = new int[1];
manager.registerResourceManager(new DbJtxResourceManager(cp));
@Test void testTime() { JtxTransactionManager manager = new JtxTransactionManager(); manager.registerResourceManager(new DbJtxResourceManager(cp)); JtxTransaction tx1 = manager.requestTransaction(new JtxTransactionMode(JtxPropagationBehavior.PROPAGATION_REQUIRED, JtxIsolationLevel.ISOLATION_DEFAULT, true, 1)); DbSession session1 = tx1.requestResource(DbSession.class); assertNotNull(session1); executeCount(session1, "select count(*) from GIRL"); ThreadUtil.sleep(2000); try { DbSession session2 = tx1.requestResource(DbSession.class); assertNotNull(session2); assertSame(session1, session2); executeCount(session1, "select count(*) from GIRL"); fail("error"); } catch (JtxException ignore) { } tx1.rollback(); }
/** * Tests if rollback works. */ @Test void testRollback() { // prepare manager JtxTransactionManager manager = new JtxTransactionManager(); manager.registerResourceManager(new DbJtxResourceManager(cp)); // request transaction JtxTransaction tx = manager.requestTransaction(new JtxTransactionMode(JtxPropagationBehavior.PROPAGATION_REQUIRED, false)); DbSession session = tx.requestResource(DbSession.class); assertNotNull(session); // insert two records DbQuery query = DbQuery.query(session, "insert into GIRL values(4, 'Jeniffer', 'fighting')"); assertEquals(1, query.executeUpdate()); query = DbQuery.query(session, "insert into GIRL values(5, 'Annita', 'bartender')"); assertEquals(1, query.executeUpdate()); // rollback tx.rollback(); // check !!! session = new DbSession(cp); DbQuery query2 = DbQuery.query(session, "select count(*) from GIRL"); long count = query2.executeCount(); assertEquals(0, count); session.closeSession(); }
/** * Creates db jtx manager and registers new {@link DbJtxResourceManager}. */ public DbJtxTransactionManager(final ConnectionProvider connectionProvider) { this(new DbJtxResourceManager(connectionProvider)); }