// fault here because the aprticipant doesn't want to retry the compensate
fault() ;
}
catch (final Throwable th)
{
final State current ;
synchronized (this)
{
current = state ;
if (current == State.STATE_COMPENSATING)
{
changeState(State.STATE_COMPLETED) ;
}
}
if (current == State.STATE_COMPENSATING)
{
initiateTimer() ;
}
if (WSTLogger.arjLoggerI18N.isDebugEnabled())
{
WSTLogger.arjLoggerI18N.debug("com.arjuna.wst.messaging.engines.CoordinatorCompletionParticipantEngine.executeCompensate_2", th) ;
}
return ;
}
final State current ;
boolean faultRequired = false;
synchronized (this)
{
current = state ;
// need to do this while synchronized so no fail calls can get in on between