public void registerSynchronization(javax.transaction.Synchronization sync) throws javax.transaction.RollbackException, java.lang.IllegalStateException, javax.transaction.SystemException { if (sync == null) { throw new javax.transaction.SystemException( "TransactionImple.registerSynchronization - " + jtaLogger.i18NLogger.get_transaction_arjunacore_nullparam() ); } if (jtaLogger.logger.isTraceEnabled()) { jtaLogger.logger.trace("TransactionImple.registerSynchronization - Class: " + sync.getClass() + " HashCode: " + sync.hashCode() + " toString: " + sync); } registerSynchronizationImple(new SynchronizationImple(sync, false)); }
void registerSynchronizationImple(SynchronizationImple synchronizationImple) throws javax.transaction.RollbackException, java.lang.IllegalStateException, javax.transaction.SystemException { if (_theTransaction != null) { if (_theTransaction.addSynchronization(synchronizationImple) != AddOutcome.AR_ADDED) { int status = _theTransaction.status(); switch (status) { case ActionStatus.ABORT_ONLY: case ActionStatus.ABORTED: throw new javax.transaction.RollbackException( jtaLogger.i18NLogger.get_transaction_arjunacore_syncwhenaborted() ); case ActionStatus.CREATED: throw new IllegalStateException( jtaLogger.i18NLogger.get_transaction_arjunacore_inactive() ); default: throw new IllegalStateException( jtaLogger.i18NLogger.get_transaction_arjunacore_syncsnotallowed() + ActionStatus.stringForm(status)); } } } else throw new IllegalStateException( jtaLogger.i18NLogger.get_transaction_arjunacore_inactive() ); }
/** * Generate the IOException for the corresponding unpack exception. * @param ex The exception caught in unpack. * @return The corresponding IOException to be thrown. */ private static IOException generateUnpackError(final Exception ex) { final String message = jtaLogger.i18NLogger.get_resources_arjunacore_XAOnePhaseResource_unpack(); return new IOException(message, ex) ; } }
private TransactionScopedBean(Contextual<T> contextual, CreationalContext<T> creationalContext, T bean) { this.contextual = contextual; this.creationalContext = creationalContext; this.bean = bean; }
"TransactionImple.enlistResource - " + jtaLogger.i18NLogger.get_transaction_arjunacore_nullres() ); throw new RollbackException( "TransactionImple.enlistResource - " + jtaLogger.i18NLogger.get_transaction_arjunacore_invalidstate() ); case javax.transaction.Status.STATUS_ACTIVE: break; default: throw new IllegalStateException( jtaLogger.i18NLogger.get_transaction_arjunacore_inactive() ); "TransactionImple.enlistResource - " + jtaLogger.i18NLogger.get_transaction_arjunacore_illresstate() + ":" + info.getState()); jtaLogger.i18NLogger.warn_transaction_arjunacore_enlisterror("TransactionImple.enlistResource", XAHelper.printXAErrorCode(exp)); jtaLogger.i18NLogger.warn_transaction_arjunacore_timeouterror("TransactionImple.enlistResource",XAHelper.xidToString(xid), XAHelper.printXAErrorCode(te), te); jtaLogger.i18NLogger.warn_transaction_arjunacore_enliststarterror("TransactionImple.enlistResource", jtaLogger.i18NLogger.warn_transaction_arjunacore_enliststarterror("TransactionImple.enlistResource", + jtaLogger.i18NLogger.get_transaction_arjunacore_couldnotregister() + ": " + xid); jtaLogger.i18NLogger.warn_transaction_arjunacore_xastart("TransactionImple.enlistResource - xa_start ", jtaLogger.i18NLogger.warn_failed_to_enlist_xa_resource(xaRes, e);
switch (_theTransaction.status()) _theTransaction.abort(); // assure thread disassociation throw addSuppressedThrowables(new javax.transaction.RollbackException( jtaLogger.i18NLogger.get_transaction_arjunacore_inactive(_theTransaction.get_uid()) )); break; case ActionStatus.H_MIXED: throw addSuppressedThrowables(new javax.transaction.HeuristicMixedException()); case ActionStatus.H_HAZARD: throw addSuppressedThrowables(new javax.transaction.HeuristicMixedException()); case ActionStatus.H_ROLLBACK: case ActionStatus.ABORTED: case ActionStatus.ABORTING: RollbackException rollbackException = addSuppressedThrowables(new RollbackException( jtaLogger.i18NLogger.get_transaction_arjunacore_commitwhenaborted() )); rollbackException.initCause(preexistingRollbackOnlyCallerStacktrace); } else if(_theTransaction.getDeferredThrowable() != null) { throw addSuppressedThrowables(new InvalidTerminationStateException( jtaLogger.i18NLogger.get_transaction_arjunacore_invalidstate() )); throw addSuppressedThrowables(new IllegalStateException( jtaLogger.i18NLogger.get_transaction_arjunacore_inactive() ));
switch (_theTransaction.status()) break; default: throw new IllegalStateException( jtaLogger.i18NLogger.get_transaction_arjunacore_inactive() ); if (!endSuspendedRMs()) _theTransaction.preventCommit(); int status = _theTransaction.end(true); TransactionImple.removeTransaction(this); case ActionStatus.H_ROLLBACK: case ActionStatus.ABORTED: RollbackException rollbackException = new RollbackException( jtaLogger.i18NLogger.get_transaction_arjunacore_commitwhenaborted() ); if (_theTransaction.getDeferredThrowable() != null) rollbackException.initCause(_theTransaction .getDeferredThrowable()); throw new IllegalStateException( jtaLogger.i18NLogger.get_transaction_arjunacore_invalidstate() ); throw new IllegalStateException( jtaLogger.i18NLogger.get_transaction_arjunacore_inactive() );
/** * Called when we want to make sure this thread does not already have a * transaction associated with it. */ final void checkTransactionState() throws IllegalStateException, javax.transaction.SystemException { // ok, no transaction currently associated with thread. TransactionImple theTransaction = TransactionImple.getTransaction(); if (theTransaction == null) return; else { if ((theTransaction.getStatus() != javax.transaction.Status.STATUS_NO_TRANSACTION) && !_supportSubtransactions) { throw new IllegalStateException( "BaseTransaction.checkTransactionState - " + jtaLogger.i18NLogger.get_transaction_arjunacore_alreadyassociated()); } } }
private static void initXATerminator() { if(txType == null) { setTxType( guessTxType() ); } TransactionManager tm = com.arjuna.ats.jta.TransactionManager.transactionManager(); if(txType == TxType.JTA) { // we are running in JTA mode xaTerminator = new XATerminatorImple(); } else { // it's not JTA, so it must be JTAX. However, we are in the JTA module and // can't link against the JTS code so we need to do it the hard way... try { Class clazz = Class.forName("com.arjuna.ats.internal.jta.transaction.jts.jca.XATerminatorImple"); xaTerminator = (XATerminator)clazz.newInstance(); } catch(Exception e) { jtaLogger.i18NLogger.error_transaction_arjunacore_jca_SubordinationManager_terminatorfailure(e); } } }
private static void initTransactionImporter() { if(txType == null) { setTxType( guessTxType() ); } if(txType == TxType.JTA) { // we are running in JTA mode transactionImporter = new TransactionImporterImple(); } else { // it's not JTA, so it must be JTAX. However, we are in the JTA module and // can't link against the JTS code so we need to do it the hard way... try { Class clazz = Class.forName("com.arjuna.ats.internal.jta.transaction.jts.jca.TransactionImporterImple"); transactionImporter = (TransactionImporter)clazz.newInstance(); } catch(Exception e) { jtaLogger.i18NLogger.error_transaction_arjunacore_jca_SubordinationManager_importerfailure(e); } } }
final String message = jtaLogger.i18NLogger.get_resources_arjunacore_XAOnePhaseResource_pack(); IOException ioException = new IOException(message); ioException.initCause(ioe);
final String message = jtaLogger.i18NLogger.get_resources_arjunacore_XAOnePhaseResource_unpackType(Integer.toString(recoveryType)); throw new IOException(message);
"TransactionImple.enlistResource - " + jtaLogger.i18NLogger.get_transaction_arjunacore_nullres() ); throw new RollbackException( "TransactionImple.enlistResource - " + jtaLogger.i18NLogger.get_transaction_arjunacore_invalidstate() ); case javax.transaction.Status.STATUS_ACTIVE: break; default: throw new IllegalStateException( jtaLogger.i18NLogger.get_transaction_arjunacore_inactive() ); "TransactionImple.enlistResource - " + jtaLogger.i18NLogger.get_transaction_arjunacore_illresstate() + ":" + info.getState()); jtaLogger.i18NLogger.warn_transaction_arjunacore_enlisterror("TransactionImple.enlistResource", XAHelper.printXAErrorCode(exp)); jtaLogger.i18NLogger.warn_transaction_arjunacore_timeouterror("TransactionImple.enlistResource",XAHelper.xidToString(xid), XAHelper.printXAErrorCode(te), te); jtaLogger.i18NLogger.warn_transaction_arjunacore_enliststarterror("TransactionImple.enlistResource", jtaLogger.i18NLogger.warn_transaction_arjunacore_enliststarterror("TransactionImple.enlistResource", + jtaLogger.i18NLogger.get_transaction_arjunacore_couldnotregister() + ": " + xid); jtaLogger.i18NLogger.warn_transaction_arjunacore_xastart("TransactionImple.enlistResource - xa_start ", jtaLogger.i18NLogger.warn_failed_to_enlist_xa_resource(xaRes, e);
switch (_theTransaction.status()) _theTransaction.abort(); // assure thread disassociation throw addSuppressedThrowables(new javax.transaction.RollbackException( jtaLogger.i18NLogger.get_transaction_arjunacore_inactive(_theTransaction.get_uid()) )); break; case ActionStatus.H_MIXED: throw addSuppressedThrowables(new javax.transaction.HeuristicMixedException()); case ActionStatus.H_HAZARD: throw addSuppressedThrowables(new javax.transaction.HeuristicMixedException()); case ActionStatus.H_ROLLBACK: case ActionStatus.ABORTED: case ActionStatus.ABORTING: RollbackException rollbackException = addSuppressedThrowables(new RollbackException( jtaLogger.i18NLogger.get_transaction_arjunacore_commitwhenaborted() )); rollbackException.initCause(preexistingRollbackOnlyCallerStacktrace); } else if(_theTransaction.getDeferredThrowable() != null) { throw addSuppressedThrowables(new InvalidTerminationStateException( jtaLogger.i18NLogger.get_transaction_arjunacore_invalidstate() )); throw addSuppressedThrowables(new IllegalStateException( jtaLogger.i18NLogger.get_transaction_arjunacore_inactive() ));
switch (_theTransaction.status()) break; default: throw new IllegalStateException( jtaLogger.i18NLogger.get_transaction_arjunacore_inactive(_theTransaction.get_uid()) ); int status = _theTransaction.end(true); TransactionImple.removeTransaction(this); break; case ActionStatus.H_MIXED: throw addSuppressedThrowables(new javax.transaction.HeuristicMixedException()); case ActionStatus.H_HAZARD: throw addSuppressedThrowables(new javax.transaction.HeuristicMixedException()); case ActionStatus.H_ROLLBACK: case ActionStatus.ABORTED: RollbackException rollbackException = new RollbackException( jtaLogger.i18NLogger.get_transaction_arjunacore_commitwhenaborted() ); if (_theTransaction.getDeferredThrowable() != null) throw addSuppressedThrowables(rollbackException); default: throw new IllegalStateException( jtaLogger.i18NLogger.get_transaction_arjunacore_invalidstate() ); throw new IllegalStateException( jtaLogger.i18NLogger.get_transaction_arjunacore_inactive() );
/** * Called when we want to make sure this thread does not already have a * transaction associated with it. */ final void checkTransactionState() throws IllegalStateException, javax.transaction.SystemException { // ok, no transaction currently associated with thread. TransactionImple theTransaction = TransactionImple.getTransaction(); if (theTransaction == null) return; else { if ((theTransaction.getStatus() != javax.transaction.Status.STATUS_NO_TRANSACTION) && !_supportSubtransactions) { throw new IllegalStateException( "BaseTransaction.checkTransactionState - " + jtaLogger.i18NLogger.get_transaction_arjunacore_alreadyassociated()); } } }
private TransactionScopedBean(Contextual<T> contextual, CreationalContext<T> creationalContext, T bean) { this.contextual = contextual; this.creationalContext = creationalContext; this.bean = bean; }
private static void initXATerminator() { if(txType == null) { setTxType( guessTxType() ); } TransactionManager tm = com.arjuna.ats.jta.TransactionManager.transactionManager(); if(txType == TxType.JTA) { // we are running in JTA mode xaTerminator = new XATerminatorImple(); } else { // it's not JTA, so it must be JTAX. However, we are in the JTA module and // can't link against the JTS code so we need to do it the hard way... try { Class clazz = Class.forName("com.arjuna.ats.internal.jta.transaction.jts.jca.XATerminatorImple"); xaTerminator = (XATerminator)clazz.newInstance(); } catch(Exception e) { jtaLogger.i18NLogger.error_transaction_arjunacore_jca_SubordinationManager_terminatorfailure(e); } } }
private static void initTransactionImporter() { if(txType == null) { setTxType( guessTxType() ); } if(txType == TxType.JTA) { // we are running in JTA mode transactionImporter = new TransactionImporterImple(); } else { // it's not JTA, so it must be JTAX. However, we are in the JTA module and // can't link against the JTS code so we need to do it the hard way... try { Class clazz = Class.forName("com.arjuna.ats.internal.jta.transaction.jts.jca.TransactionImporterImple"); transactionImporter = (TransactionImporter)clazz.newInstance(); } catch(Exception e) { jtaLogger.i18NLogger.error_transaction_arjunacore_jca_SubordinationManager_importerfailure(e); } } }
final String message = jtaLogger.i18NLogger.get_resources_arjunacore_XAOnePhaseResource_pack(); IOException ioException = new IOException(message); ioException.initCause(ioe);