InvalidStateException, NoActivityException
{
if (AtomicTransactionConstants.WSAT_SUB_PROTOCOL_DURABLE_2PC.equals(protocolIdentifier))
{
// enlist participant that wraps the requester URI.
final String participantId = "D" + new Uid().stringForm();
try
{
final Durable2PCStub participantStub = new Durable2PCStub(participantId, participantProtocolService) ;
theTx.enlistParticipant(new DurableTwoPhaseCommitParticipant(participantStub, participantId));
return getCoordinator(participantId, isSecure) ;
}
catch (Exception ex)
{
throw new InvalidStateException();
}
}
else if (AtomicTransactionConstants.WSAT_SUB_PROTOCOL_VOLATILE_2PC.equals(protocolIdentifier))
{
// enlist participant that wraps the requester URI.
final String participantId = "V" + new Uid().stringForm();
try
{
final Volatile2PCStub participantStub = new Volatile2PCStub(participantId, participantProtocolService) ;
theTx.enlistSynchronization(new VolatileTwoPhaseCommitParticipant(participantStub)) ;