use of org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl in project hibernate-orm by hibernate.
the class AbstractBasicJtaTestScenarios method basicCmtUsageWithPulseTest.
@Test
public void basicCmtUsageWithPulseTest() throws Exception {
// pre conditions
final TransactionManager tm = JtaPlatformStandardTestingImpl.INSTANCE.transactionManager();
assertEquals(Status.STATUS_NO_TRANSACTION, tm.getStatus());
final JtaTransactionCoordinatorImpl transactionCoordinator = buildTransactionCoordinator(true);
// begin the transaction
tm.begin();
assertEquals(Status.STATUS_ACTIVE, tm.getStatus());
transactionCoordinator.pulse();
// NOTE : because of auto-join
assertTrue(transactionCoordinator.isSynchronizationRegistered());
transactionCoordinator.pulse();
assertTrue(transactionCoordinator.isSynchronizationRegistered());
// create and add a local Synchronization
SynchronizationCollectorImpl localSync = new SynchronizationCollectorImpl();
transactionCoordinator.getLocalSynchronizations().registerSynchronization(localSync);
// commit the transaction
tm.commit();
// post conditions
assertEquals(Status.STATUS_NO_TRANSACTION, tm.getStatus());
assertFalse(transactionCoordinator.isSynchronizationRegistered());
assertEquals(1, localSync.getBeforeCompletionCount());
assertEquals(1, localSync.getSuccessfulCompletionCount());
assertEquals(0, localSync.getFailedCompletionCount());
}
use of org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl in project hibernate-orm by hibernate.
the class AbstractBasicJtaTestScenarios method jpaExplicitJoiningTest.
@Test
public void jpaExplicitJoiningTest() throws Exception {
// pre conditions
final TransactionManager tm = JtaPlatformStandardTestingImpl.INSTANCE.transactionManager();
assertEquals(Status.STATUS_NO_TRANSACTION, tm.getStatus());
// begin the transaction
tm.begin();
assertEquals(Status.STATUS_ACTIVE, tm.getStatus());
final JtaTransactionCoordinatorImpl transactionCoordinator = buildTransactionCoordinator(false);
// no auto-join now
assertFalse(transactionCoordinator.isSynchronizationRegistered());
transactionCoordinator.explicitJoin();
assertTrue(transactionCoordinator.isSynchronizationRegistered());
// create and add a local Synchronization
SynchronizationCollectorImpl localSync = new SynchronizationCollectorImpl();
transactionCoordinator.getLocalSynchronizations().registerSynchronization(localSync);
// commit the transaction
tm.commit();
// post conditions
assertEquals(Status.STATUS_NO_TRANSACTION, tm.getStatus());
assertFalse(transactionCoordinator.isSynchronizationRegistered());
assertEquals(1, localSync.getBeforeCompletionCount());
assertEquals(1, localSync.getSuccessfulCompletionCount());
assertEquals(0, localSync.getFailedCompletionCount());
}
use of org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl in project hibernate-orm by hibernate.
the class AbstractBasicJtaTestScenarios method explicitJoiningTest.
@Test
public void explicitJoiningTest() throws Exception {
// pre conditions
final TransactionManager tm = JtaPlatformStandardTestingImpl.INSTANCE.transactionManager();
assertEquals(Status.STATUS_NO_TRANSACTION, tm.getStatus());
final JtaTransactionCoordinatorImpl transactionCoordinator = buildTransactionCoordinator(false);
// begin the transaction
tm.begin();
assertEquals(Status.STATUS_ACTIVE, tm.getStatus());
// no auto-join now
assertFalse(transactionCoordinator.isSynchronizationRegistered());
transactionCoordinator.explicitJoin();
assertTrue(transactionCoordinator.isSynchronizationRegistered());
// create and add a local Synchronization
SynchronizationCollectorImpl localSync = new SynchronizationCollectorImpl();
transactionCoordinator.getLocalSynchronizations().registerSynchronization(localSync);
// commit the transaction
tm.commit();
// post conditions
assertEquals(Status.STATUS_NO_TRANSACTION, tm.getStatus());
assertFalse(transactionCoordinator.isSynchronizationRegistered());
assertEquals(1, localSync.getBeforeCompletionCount());
assertEquals(1, localSync.getSuccessfulCompletionCount());
assertEquals(0, localSync.getFailedCompletionCount());
}
use of org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl in project hibernate-orm by hibernate.
the class AbstractBasicJtaTestScenarios method basicThreadCheckingUsage.
@Test
public void basicThreadCheckingUsage() throws Exception {
JtaTransactionCoordinatorImpl transactionCoordinator = new JtaTransactionCoordinatorImpl(transactionCoordinatorBuilder, owner, true, JtaPlatformStandardTestingImpl.INSTANCE, preferUserTransactions(), true);
// pre conditions
final TransactionManager tm = JtaPlatformStandardTestingImpl.INSTANCE.transactionManager();
assertEquals(Status.STATUS_NO_TRANSACTION, tm.getStatus());
// begin the transaction
tm.begin();
transactionCoordinator.explicitJoin();
assertEquals(SynchronizationCallbackCoordinatorTrackingImpl.class, transactionCoordinator.getSynchronizationCallbackCoordinator().getClass());
tm.commit();
assertEquals(Status.STATUS_NO_TRANSACTION, tm.getStatus());
assertFalse(transactionCoordinator.isJoined());
tm.begin();
transactionCoordinator.explicitJoin();
assertEquals(SynchronizationCallbackCoordinatorTrackingImpl.class, transactionCoordinator.getSynchronizationCallbackCoordinator().getClass());
tm.rollback();
}
use of org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl in project hibernate-orm by hibernate.
the class AbstractBasicJtaTestScenarios method rollbackCmtUsageTest.
@Test
public void rollbackCmtUsageTest() throws Exception {
// pre conditions
final TransactionManager tm = JtaPlatformStandardTestingImpl.INSTANCE.transactionManager();
assertEquals(Status.STATUS_NO_TRANSACTION, tm.getStatus());
// begin the transaction
tm.begin();
assertEquals(Status.STATUS_ACTIVE, tm.getStatus());
final JtaTransactionCoordinatorImpl transactionCoordinator = buildTransactionCoordinator(true);
// NOTE : because of auto-join
assertTrue(transactionCoordinator.isSynchronizationRegistered());
// create and add a local Synchronization
SynchronizationCollectorImpl localSync = new SynchronizationCollectorImpl();
transactionCoordinator.getLocalSynchronizations().registerSynchronization(localSync);
// rollback the transaction
tm.rollback();
// post conditions
assertEquals(Status.STATUS_NO_TRANSACTION, tm.getStatus());
assertFalse(transactionCoordinator.isSynchronizationRegistered());
assertEquals(0, localSync.getBeforeCompletionCount());
assertEquals(0, localSync.getSuccessfulCompletionCount());
assertEquals(1, localSync.getFailedCompletionCount());
}
Aggregations