public void start(final StartContext context) throws StartException { final UserTransactionRegistry registry = registryInjector.getValue(); LocalTransactionContext.getCurrent().registerCreationListener((txn, createdBy) -> { if (createdBy == CreationListener.CreatedBy.USER_TRANSACTION) { if (WildFlySecurityManager.isChecking()) { AccessController.doPrivileged((PrivilegedAction<Void>) () -> { txn.registerAssociationListener(new AssociationListener() { private final AtomicBoolean first = new AtomicBoolean(); public void associationChanged(final AbstractTransaction t, final boolean a) { if (a && first.compareAndSet(false, true)) registry.userTransactionStarted(); } }); return null; }); } else { txn.registerAssociationListener(new AssociationListener() { private final AtomicBoolean first = new AtomicBoolean(); public void associationChanged(final AbstractTransaction t, final boolean a) { if (a && first.compareAndSet(false, true)) registry.userTransactionStarted(); } }); } } }); }
public static void registerSynchronization(EntityManager entityManager, String puScopedName, TransactionSynchronizationRegistry tsr, TransactionManager transactionManager) { SessionSynchronization sessionSynchronization = new SessionSynchronization(entityManager, puScopedName); tsr.registerInterposedSynchronization(sessionSynchronization); final AbstractTransaction transaction = ((ContextTransactionManager) transactionManager).getTransaction(); doPrivileged((PrivilegedAction<Void>) () -> { transaction.registerAssociationListener(sessionSynchronization); return null; }); }
public static void registerSynchronization(EntityManager entityManager, String puScopedName, TransactionSynchronizationRegistry tsr, TransactionManager transactionManager) { SessionSynchronization sessionSynchronization = new SessionSynchronization(entityManager, puScopedName); tsr.registerInterposedSynchronization(sessionSynchronization); final AbstractTransaction transaction = ((ContextTransactionManager) transactionManager).getTransaction(); doPrivileged((PrivilegedAction<Void>) () -> { transaction.registerAssociationListener(sessionSynchronization); return null; }); }
public void start(final StartContext context) throws StartException { final UserTransactionRegistry registry = registryInjector.getValue(); LocalTransactionContext.getCurrent().registerCreationListener((txn, createdBy) -> { if (createdBy == CreationListener.CreatedBy.USER_TRANSACTION) { if (WildFlySecurityManager.isChecking()) { AccessController.doPrivileged((PrivilegedAction<Void>) () -> { txn.registerAssociationListener(new AssociationListener() { private final AtomicBoolean first = new AtomicBoolean(); public void associationChanged(final AbstractTransaction t, final boolean a) { if (a && first.compareAndSet(false, true)) registry.userTransactionStarted(); } }); return null; }); } else { txn.registerAssociationListener(new AssociationListener() { private final AtomicBoolean first = new AtomicBoolean(); public void associationChanged(final AbstractTransaction t, final boolean a) { if (a && first.compareAndSet(false, true)) registry.userTransactionStarted(); } }); } } }); }
public void start(final StartContext context) throws StartException { final UserTransactionRegistry registry = registryInjector.getValue(); LocalTransactionContext.getCurrent().registerCreationListener((txn, createdBy) -> { if (createdBy == CreationListener.CreatedBy.USER_TRANSACTION) { if (WildFlySecurityManager.isChecking()) { AccessController.doPrivileged((PrivilegedAction<Void>) () -> { txn.registerAssociationListener(new AssociationListener() { private final AtomicBoolean first = new AtomicBoolean(); public void associationChanged(final AbstractTransaction t, final boolean a) { if (a && first.compareAndSet(false, true)) registry.userTransactionStarted(); } }); return null; }); } else { txn.registerAssociationListener(new AssociationListener() { private final AtomicBoolean first = new AtomicBoolean(); public void associationChanged(final AbstractTransaction t, final boolean a) { if (a && first.compareAndSet(false, true)) registry.userTransactionStarted(); } }); } } }); }