use of com.arjuna.wst.CompletionCoordinatorParticipant in project narayana by jbosstm.
the class ATTestCase method testAT4_1.
/**
* testAT4_1 - 4.1 EarlyReadonly
* Tests the case of a participant initiated ReadOnly message occurring prior to the prepare phase.
* @throws Exception on failure.
*/
public void testAT4_1() throws Exception {
final String conversationId = getConversationId();
final InteropWaitState state = new InteropWaitState(AtomicTransactionConstants.WSAT_ACTION_COMMITTED);
ProxyConversation.setConversationState(conversationId, state);
try {
final String serviceURI = ProxyURIRewriting.rewriteURI(conversationId, getParticipantURI());
final CoordinationContextType context = ATInteropUtil.createCoordinationContext(getSourceCoordinatorURI());
getParticipantStub().earlyReadonly(serviceURI, context);
final CompletionCoordinatorParticipant participant = ATInteropUtil.registerCompletion(context, context.getIdentifier().getValue());
participant.commit();
state.waitForCompletion(0);
} finally {
ProxyConversation.clearConversationState(conversationId);
}
assertTrue("Conversation did not complete successfully", state.isSuccessful());
}
use of com.arjuna.wst.CompletionCoordinatorParticipant in project narayana by jbosstm.
the class ParticipantProcessor method completionRollback.
/**
* Execute the CompletionRollback
* @param coordinatorURI The address of the coordinator to employ.
* @param map The current addressing context.
* @throws SoapFault11 for errors during processing
*/
public void completionRollback(final String coordinatorURI, final MAP map) throws SoapFault11 {
try {
final CoordinationContextType context = InteropUtil.createCoordinationContext(coordinatorURI);
final CompletionCoordinatorParticipant participant = InteropUtil.registerCompletion(context, context.getIdentifier().getValue());
participant.rollback();
} catch (final Throwable th) {
throw new SoapFault11(th);
}
}
use of com.arjuna.wst.CompletionCoordinatorParticipant in project narayana by jbosstm.
the class Sc007TestCase method test3_5.
/**
* test3_5 - 3.5 EarlyAborted
* Tests the case of a participant initiated Aborted message occurring prior to the prepare phase.
* @throws Exception on failure.
*/
public void test3_5() throws Exception {
final String conversationId = getConversationId();
final InteropWaitState state = new InteropWaitState(AtomicTransactionConstants.WSAT_ACTION_ABORTED, 2);
ProxyConversation.setConversationState(conversationId, state);
try {
final String serviceURI = ProxyURIRewriting.rewriteURI(conversationId, getParticipantURI());
final CoordinationContextType context = InteropUtil.createCoordinationContext(getSourceCoordinatorURI());
getParticipantStub().earlyAborted(serviceURI, context);
final CompletionCoordinatorParticipant participant = InteropUtil.registerCompletion(context, context.getIdentifier().getValue());
participant.commit();
fail("Transaction rollback expected");
} catch (final TransactionRolledBackException trbe) {
state.waitForCompletion(0);
} finally {
ProxyConversation.clearConversationState(conversationId);
}
assertTrue("Conversation did not complete successfully", state.isSuccessful());
}
use of com.arjuna.wst.CompletionCoordinatorParticipant in project narayana by jbosstm.
the class Sc007TestCase method test3_11.
/**
* test3_11 - 3.11 LostCommitted
* Tests the effect of a lost Committed message.
* @throws Exception on failure.
*/
public void test3_11() throws Exception {
final String conversationId = getConversationId();
final InteropWaitState state = new InteropWaitState(AtomicTransactionConstants.WSAT_ACTION_COMMITTED);
ProxyConversation.setConversationState(conversationId, state);
try {
final String serviceURI = ProxyURIRewriting.rewriteURI(conversationId, getParticipantURI());
final CoordinationContextType context = InteropUtil.createCoordinationContext(getSourceCoordinatorURI());
getParticipantStub().lostCommitted(serviceURI, context);
final CompletionCoordinatorParticipant participant = InteropUtil.registerCompletion(context, context.getIdentifier().getValue());
participant.commit();
state.waitForCompletion(0);
} finally {
ProxyConversation.clearConversationState(conversationId);
}
assertTrue("Conversation did not complete successfully", state.isSuccessful());
}
use of com.arjuna.wst.CompletionCoordinatorParticipant in project narayana by jbosstm.
the class Sc007TestCase method test3_1.
/**
* test3_1 - 3.1 Phase2Rollback
* Coordinator aborts the transaction due to an Aborted vote during the prepare phase.
* @throws Exception on failure.
*/
public void test3_1() throws Exception {
final String conversationId = getConversationId();
final InteropWaitState state = new InteropWaitState(AtomicTransactionConstants.WSAT_ACTION_ABORTED, 2);
ProxyConversation.setConversationState(conversationId, state);
try {
final String serviceURI = ProxyURIRewriting.rewriteURI(conversationId, getParticipantURI());
final CoordinationContextType context = InteropUtil.createCoordinationContext(getSourceCoordinatorURI());
getParticipantStub().phase2Rollback(serviceURI, context);
final CompletionCoordinatorParticipant participant = InteropUtil.registerCompletion(context, context.getIdentifier().getValue());
participant.commit();
fail("Transaction rollback expected");
} catch (final TransactionRolledBackException trbe) {
state.waitForCompletion(0);
} finally {
ProxyConversation.clearConversationState(conversationId);
}
assertTrue("Conversation did not complete successfully", state.isSuccessful());
}
Aggregations