@Test public void testCommit2() throws Throwable { members.add(new CheckPoint()); transactionManager.commit(1, 100L, new IOException(), members, false, null, null); assertEquals("(ArrayList) members.size()", 1, members.size()); }
@Test public void testCommit1() throws Throwable { transactionManager.commit(1, 100L, "", members, members.add(new HasEntry()), null, null); assertEquals("(ArrayList) members.size()", 1, members.size()); }
@Test public void testCommitThrowsNullPointerException() throws Throwable { LogEvent evt = new LogEvent(); try { transactionManager.commit(1, 100L, "testString", members, members.add(null), evt, null); fail("Expected NullPointerException to be thrown"); } catch (NullPointerException ex) { assertNull("ex.getMessage()", ex.getMessage()); assertEquals("(ArrayList) members.size()", 1, members.size()); } }
@Test public void testCommit4() throws Throwable { LogEvent evt = new LogEvent("testTransactionManagerTag"); transactionManager.commit(1, 100L, new NotActiveException("testTransactionManagerParam1"), members, true, evt, null); assertEquals("(ArrayList) members.size()", 0, members.size()); }
@Test public void testCommit6() throws Throwable { TransactionParticipant p = new CheckPoint(); transactionManager.commit(p, 100L, ""); assertTrue("Test completed without Exception", true); }
@Test public void testCommit5() throws Throwable { TransactionParticipant p = new Trace(); transactionManager.commit(p, 100L, Boolean.FALSE); assertTrue("Test completed without Exception", true); }
@Test public void testCommit3() throws Throwable { members.add(new Debug()); LogEvent evt = new LogEvent(); transactionManager.commit(1, 100L, Boolean.FALSE, members, false, evt, null); assertEquals("evt.payLoad.size()", 1, evt.getPayLoad().size()); assertEquals("evt.payLoad.get(0)", " commit: org.jpos.transaction.participant.Debug", evt.getPayLoad().get(0)); }
@Test public void testCommitThrowsNullPointerException2() throws Throwable { LogEvent evt = new LogEvent(); try { transactionManager.commit(1, 100L, new SerializablePermission("testTransactionManagerParam1"), null, true, evt, null); fail("Expected NullPointerException to be thrown"); } catch (NullPointerException ex) { assertNull("ex.getMessage()", ex.getMessage()); } }
protected void recover (int session, long id) { LogEvent evt = getLog().createLogEvent ("recover"); Profiler prof = new Profiler(); evt.addMessage ("<id>" + id + "</id>"); try { String stateKey = getKey (STATE, id); String contextKey = getKey (CONTEXT, id); Integer state = (Integer) psp.rdp (stateKey); if (state == null) { evt.addMessage ("unknown stateKey " + stateKey); SpaceUtil.wipe (psp, contextKey); // just in case ... return; } Serializable context = (Serializable) psp.rdp (contextKey); if (context != null) evt.addMessage (context); if (DONE.equals (state)) { evt.addMessage ("<done/>"); } else if (COMMITTING.equals (state)) { commit (session, id, context, getParticipants (id), true, evt, prof); } else if (PREPARING.equals (state)) { abort (session, id, context, getParticipants (id), true, evt, prof); } purge (id, true); } finally { evt.addMessage (prof); Logger.log (evt); } } protected synchronized void checkRetryTask () {
protected void commit (int session, long id, Serializable context, List<TransactionParticipant> members, boolean recover, LogEvent evt, Profiler prof) { for (TransactionParticipant p :members) { if (recover && p instanceof ContextRecovery) { context = ((ContextRecovery) p).recover (id, context, true); if (evt != null) evt.addMessage (" commit-recover: " + getName(p)); } if (hasStatusListeners) notifyStatusListeners ( session, TransactionStatusEvent.State.COMMITING, id, getName(p), context ); commit (p, id, context); if (evt != null) { evt.addMessage (" commit: " + getName(p)); if (prof != null) prof.checkPoint (" commit: " + getName(p)); } } } protected void abort
setState(id, COMMITTING); setThreadLocal(id, context); commit(session, id, context, members, false, evt, prof); removeThreadLocal();