/** * Replays phase 2 of the transaction. */ public void replayPhase2() { if (jtsLogger.logger.isDebugEnabled()) { jtsLogger.logger.debug("CachedRecoveredTransaction.replayPhase2 [" + _theTransactionUid + ", " + _theTransactionType + "]"); } TransactionCache.replayPhase2(_theTransactionUid, _theTransactionType); }
/** * Replays phase 2 of the transaction. */ public void replayPhase2() { if (jtsLogger.logger.isDebugEnabled()) { jtsLogger.logger.debug(DebugLevel.FUNCTIONS, VisibilityLevel.VIS_PUBLIC, FacilityCode.FAC_CRASH_RECOVERY, "CachedRecoveredTransaction.replayPhase2 [" +_theTransactionUid+", "+_theTransactionType+"]"); } TransactionCache.replayPhase2(_theTransactionUid, _theTransactionType); }
@Override public boolean doCommit() throws IllegalStateException, HeuristicMixedException, HeuristicRollbackException, HeuristicCommitException, SystemException { if (getStatus() == Status.STATUS_COMMITTING || getStatus() == Status.STATUS_COMMITTED) { TransactionCache.ReplayPhaseReturnStatus replayStatus = TransactionCache.replayPhase2(get_uid(), ServerTransaction.getType()); // either the replay does not fully committed or moved under assumed completed state // returning that we haven't finished yet return replayStatus == TransactionCache.ReplayPhaseReturnStatus.ASSUME_COMPLETED; } else { return super.doCommit(); } } }