@Override public boolean forgetHeuristic() { if (xarec != null) { xarec.forgetHeuristic(); return xarec.isForgotten(); } return super.forgetHeuristic(); } }
@Override public boolean forgetHeuristic() { if (xarec != null) { xarec.forgetHeuristic(); return xarec.isForgotten(); } return super.forgetHeuristic(); } }
@Override public boolean forgetHeuristic() { if (xarec != null) { xarec.forgetHeuristic(); return xarec.isForgotten(); } return super.forgetHeuristic(); } }
@Override public boolean forgetHeuristic() { if (xarec != null) { xarec.forgetHeuristic(); return xarec.isForgotten(); } return super.forgetHeuristic(); } }
@Test public void testRollbackFailure () throws Exception { FailureXAResource fxa = new FailureXAResource(FailureXAResource.FailLocation.rollback); TransactionImple tx = new TransactionImple(0); XAResourceRecord xares = new XAResourceRecord(tx, fxa, tx.getTxId(), null); assertEquals(xares.topLevelPrepare(), TwoPhaseOutcome.PREPARE_OK); assertEquals(xares.topLevelAbort(), TwoPhaseOutcome.HEURISTIC_MIXED); assertTrue(xares.forgetHeuristic()); }
@Test public void testCommitFailure () throws Exception { FailureXAResource fxa = new FailureXAResource(FailureXAResource.FailLocation.commit); TransactionImple tx = new TransactionImple(0); XAResourceRecord xares = new XAResourceRecord(tx, fxa, tx.getTxId(), null); assertEquals(xares.topLevelPrepare(), TwoPhaseOutcome.PREPARE_OK); assertEquals(xares.topLevelCommit(), TwoPhaseOutcome.HEURISTIC_MIXED); assertTrue(xares.forgetHeuristic()); }