public void testSameTransactionEachCall() throws RemoteException, SystemException, NotSupportedException { final IIOPTransactionalStatefulRemote remote = statefulHome.create(); userTransaction.begin(); try { remote.sameTransaction(true); remote.sameTransaction(false); } finally { userTransaction.rollback(); } }
public void testRollbackOnlyBeforeCompletion() throws RemoteException, SystemException, NotSupportedException, HeuristicRollbackException, HeuristicMixedException { final IIOPTransactionalStatefulRemote remote = statefulHome.create(); userTransaction.begin(); try { Assert.assertEquals(Status.STATUS_ACTIVE, remote.transactionStatus()); remote.setRollbackOnlyBeforeCompletion(true); userTransaction.commit(); } catch (RollbackException expected) { } Assert.assertFalse(remote.getCommitSucceeded()); Assert.assertEquals(Status.STATUS_NO_TRANSACTION, remote.transactionStatus()); }
public void testSynchronization(final boolean succeeded) throws RemoteException, SystemException, NotSupportedException, RollbackException, HeuristicRollbackException, HeuristicMixedException { final IIOPTransactionalStatefulRemote remote = statefulHome.create(); userTransaction.begin(); try { remote.sameTransaction(true); remote.sameTransaction(false); } finally { if (succeeded) { userTransaction.commit(); } else { userTransaction.rollback(); } } Assert.assertEquals(succeeded, remote.isBeforeCompletion()); Assert.assertEquals((Boolean) succeeded, remote.getCommitSucceeded()); }
public void testRollbackOnly() throws RemoteException, SystemException, NotSupportedException { final IIOPTransactionalStatefulRemote remote = statefulHome.create(); userTransaction.begin(); try { Assert.assertEquals(Status.STATUS_ACTIVE, remote.transactionStatus()); remote.rollbackOnly(); Assert.assertEquals(Status.STATUS_MARKED_ROLLBACK, remote.transactionStatus()); } finally { userTransaction.rollback(); } Assert.assertFalse(remote.isBeforeCompletion()); Assert.assertFalse(remote.getCommitSucceeded()); }