@Override public void afterPropertiesSet() throws TransactionSystemException { super.afterPropertiesSet(); loadWebLogicTransactionClasses(); }
/** * Initialize the UserTransaction as well as the TransactionManager handle. * @see #initUserTransactionAndTransactionManager() */ @Override public void afterPropertiesSet() throws TransactionSystemException { initUserTransactionAndTransactionManager(); checkUserTransactionAndTransactionManager(); initTransactionSynchronizationRegistry(); }
/** * Create a new WebSphereUowTransactionManager. */ public WebSphereUowTransactionManager() { setAutodetectTransactionManager(false); }
protected JtaTransactionManager newJtaTransactionManager(UserTransaction ut) { return new JtaTransactionManager(ut); }
@Override public void afterPropertiesSet() throws TransactionSystemException { initUserTransactionAndTransactionManager(); // Fetch UOWManager handle from JNDI, if necessary. if (this.uowManager == null) { if (this.uowManagerName != null) { this.uowManager = lookupUowManager(this.uowManagerName); } else { this.uowManager = lookupDefaultUowManager(); } } }
/** * Build a UserTransaction handle based on the given TransactionManager. * @param transactionManager the TransactionManager * @return a corresponding UserTransaction handle */ protected UserTransaction buildUserTransaction(TransactionManager transactionManager) { if (transactionManager instanceof UserTransaction) { return (UserTransaction) transactionManager; } else { return new UserTransactionAdapter(transactionManager); } }
/** * Registers the synchronizations as interposed JTA Synchronization on the UOWManager. */ @Override protected void doRegisterAfterCompletionWithJtaTransaction( JtaTransactionObject txObject, List<TransactionSynchronization> synchronizations) { obtainUOWManager().registerInterposedSynchronization(new JtaAfterCompletionSynchronization(synchronizations)); }
/** * Create a new JtaTransactionManager instance, to be configured as bean. * Invoke {@code afterPropertiesSet} to activate the configuration. * @see #setUserTransactionName * @see #setUserTransaction * @see #setTransactionManagerName * @see #setTransactionManager * @see #afterPropertiesSet() */ public JtaTransactionManager() { setNestedTransactionAllowed(true); }
/** * Get a JTA transaction object for the given current UserTransaction. * <p>Subclasses can override this to provide a JtaTransactionObject * subclass, for example holding some additional JTA handle needed. * @param ut the UserTransaction handle to use for the current transaction * @return the JtaTransactionObject holding the UserTransaction */ protected JtaTransactionObject doGetJtaTransaction(UserTransaction ut) { return new JtaTransactionObject(ut); }
@Override protected Object doSuspend(Object transaction) { JtaTransactionObject txObject = (JtaTransactionObject) transaction; try { return doJtaSuspend(txObject); } catch (SystemException ex) { throw new TransactionSystemException("JTA failure on suspend", ex); } }
@Test public void newTransactionSynchronizationUsingPropagationSupports() { doTestNewTransactionSynchronization( TransactionDefinition.PROPAGATION_SUPPORTS, WebSphereUowTransactionManager.SYNCHRONIZATION_ALWAYS); }
@Test public void newTransactionWithCommitUsingPropagationRequiresNewAndSynchNever() { doTestNewTransactionWithCommit( TransactionDefinition.PROPAGATION_REQUIRES_NEW, WebSphereUowTransactionManager.SYNCHRONIZATION_NEVER); }
protected JtaTransactionManager newJtaTransactionManager(TransactionManager tm) { return new JtaTransactionManager(tm); }
@Test public void newTransactionSynchronizationUsingPropagationSupportsAndSynchOnActual() { doTestNewTransactionSynchronization( TransactionDefinition.PROPAGATION_SUPPORTS, WebSphereUowTransactionManager.SYNCHRONIZATION_ON_ACTUAL_TRANSACTION); }
@Test public void newTransactionWithCommitUsingPropagationNestedAndSynchNever() { doTestNewTransactionWithCommit( TransactionDefinition.PROPAGATION_NESTED, WebSphereUowTransactionManager.SYNCHRONIZATION_NEVER); }
protected JtaTransactionManager newJtaTransactionManager(UserTransaction ut, TransactionManager tm) { return new JtaTransactionManager(ut, tm); }
@Test public void newTransactionSynchronizationUsingPropagationNeverAndSynchNever() { doTestNewTransactionSynchronization( TransactionDefinition.PROPAGATION_NEVER, WebSphereUowTransactionManager.SYNCHRONIZATION_NEVER); }
@Test public void newTransactionSynchronizationUsingPropagationNotSupported() { doTestNewTransactionSynchronization( TransactionDefinition.PROPAGATION_NOT_SUPPORTED, WebSphereUowTransactionManager.SYNCHRONIZATION_ALWAYS); }
@Test public void newTransactionSynchronizationUsingPropagationNeverAndSynchOnActual() { doTestNewTransactionSynchronization( TransactionDefinition.PROPAGATION_NEVER, WebSphereUowTransactionManager.SYNCHRONIZATION_ON_ACTUAL_TRANSACTION); }
@Test public void newTransactionSynchronizationUsingPropagationNotSupportedAndSynchNever() { doTestNewTransactionSynchronization( TransactionDefinition.PROPAGATION_NOT_SUPPORTED, WebSphereUowTransactionManager.SYNCHRONIZATION_NEVER); }