TransactionStatus ts = tm.getTransaction(new DefaultTransactionDefinition()); boolean outerTransactionBoundaryReached = false; try {
@Test public void jtaTransactionManagerWithDoubleRollback() throws Exception { UserTransaction ut = mock(UserTransaction.class); given(ut.getStatus()).willReturn(Status.STATUS_NO_TRANSACTION, Status.STATUS_ACTIVE); JtaTransactionManager ptm = newJtaTransactionManager(ut); assertFalse(TransactionSynchronizationManager.isSynchronizationActive()); TransactionStatus status = ptm.getTransaction(new DefaultTransactionDefinition()); assertTrue(TransactionSynchronizationManager.isSynchronizationActive()); // first rollback ptm.rollback(status); assertFalse(TransactionSynchronizationManager.isSynchronizationActive()); try { // second rollback attempt ptm.rollback(status); fail("Should have thrown IllegalTransactionStateException"); } catch (IllegalTransactionStateException ex) { // expected } verify(ut).begin(); verify(ut).rollback(); }
@Test public void jtaTransactionManagerWithRollbackAndCommit() throws Exception { UserTransaction ut = mock(UserTransaction.class); given(ut.getStatus()).willReturn(Status.STATUS_NO_TRANSACTION, Status.STATUS_ACTIVE); JtaTransactionManager ptm = newJtaTransactionManager(ut); assertFalse(TransactionSynchronizationManager.isSynchronizationActive()); TransactionStatus status = ptm.getTransaction(new DefaultTransactionDefinition()); assertTrue(TransactionSynchronizationManager.isSynchronizationActive()); // first: rollback ptm.rollback(status); assertFalse(TransactionSynchronizationManager.isSynchronizationActive()); try { // second: commit attempt ptm.commit(status); fail("Should have thrown IllegalTransactionStateException"); } catch (IllegalTransactionStateException ex) { // expected } verify(ut).begin(); verify(ut).rollback(); }
@Test public void jtaTransactionManagerWithDoubleCommit() throws Exception { UserTransaction ut = mock(UserTransaction.class); given(ut.getStatus()).willReturn(Status.STATUS_NO_TRANSACTION, Status.STATUS_ACTIVE, Status.STATUS_ACTIVE); JtaTransactionManager ptm = newJtaTransactionManager(ut); assertFalse(TransactionSynchronizationManager.isSynchronizationActive()); TransactionStatus status = ptm.getTransaction(new DefaultTransactionDefinition()); assertTrue(TransactionSynchronizationManager.isSynchronizationActive()); // first commit ptm.commit(status); assertFalse(TransactionSynchronizationManager.isSynchronizationActive()); try { // second commit attempt ptm.commit(status); fail("Should have thrown IllegalTransactionStateException"); } catch (IllegalTransactionStateException ex) { // expected } verify(ut).begin(); verify(ut).commit(); }
enter code here ApplicationContext ctx = new FileSystemXmlApplicationContext("applicationContext.xml"); JtaTransactionManager txManager = (JtaTransactionManager) ctx.getBean("txManager"); DefaultTransactionDefinition def = new DefaultTransactionDefinition(); def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); TransactionStatus status = txManager.getTransaction(def); System.out.println("The transaction manager is "+txManager); System.out.println("The transaction is "+status);
public static TransactionStatus getTransaction(JtaTransactionManager jtaTransactionManager){ DefaultTransactionDefinition definition = new DefaultTransactionDefinition(); definition.setTimeout(-1); TransactionStatus transactionStatus =jtaTransactionManager.getTransaction(definition); return transactionStatus; }
TransactionStatus txStatus = jtaTxManager.getTransaction(txDefinition);
TransactionStatus txStatus = jtaTxManager.getTransaction(txDefinition);
TransactionStatus txStatus = jtaTxManager.getTransaction(txDefinition);
private TransactionStatus beginTransaction(JtaTransactionManager jtaTxm) throws Exception { // UserTransaction ut = (UserTransaction) new InitialContext().lookup("java:comp/UserTransaction"); // ut.begin(); // // return ut; DefaultTransactionDefinition def = new DefaultTransactionDefinition(); TransactionStatus status = jtaTxm.getTransaction(def); return status; }
private TransactionStatus beginTransaction(JtaTransactionManager jtaTxm) throws Exception { // UserTransaction ut = (UserTransaction) new InitialContext().lookup("java:comp/UserTransaction"); // ut.begin(); // // return ut; DefaultTransactionDefinition def = new DefaultTransactionDefinition(); TransactionStatus status = jtaTxm.getTransaction(def); return status; }