* @message com.arjuna.wst11.messaging.ParticipantCompletionParticipantProcessorImpl.compensate_4 [com.arjuna.wst11.messaging.ParticipantCompletionParticipantProcessorImpl.compensate_4] - Compensate request dropped pending WS-BA participant recovery manager scan for unknown participant: {0}
* @message com.arjuna.wst11.messaging.ParticipantCompletionParticipantProcessorImpl.compensate_5 [com.arjuna.wst11.messaging.ParticipantCompletionParticipantProcessorImpl.compensate_5] - Compensate request dropped pending registration of application-specific recovery module for WS-BA participant: {0}
*/
public void compensate(final NotificationType compensate, final AddressingProperties addressingProperties, final ArjunaContext arjunaContext)
{
final InstanceIdentifier instanceIdentifier = arjunaContext.getInstanceIdentifier() ;
/**
* ensure the BA participant recovery manager is running
*/
XTSBARecoveryManager recoveryManager = XTSBARecoveryManager.getRecoveryManager();
if (recoveryManager == null) {
// log warning and drop this message -- it will be resent
if (WSTLogger.arjLoggerI18N.isWarnEnabled())
{
WSTLogger.arjLoggerI18N.warn("com.arjuna.wst11.messaging.ParticipantCompletionParticipantProcessorImpl.compensate_3", new Object[] {instanceIdentifier}) ;
}
return;
}
final ParticipantCompletionParticipantInboundEvents participant = getParticipant(instanceIdentifier) ;
if (participant != null)
{
try
{
participant.compensate(compensate, addressingProperties, arjunaContext) ;
}
catch (final Throwable th)
{
if (WSTLogger.arjLoggerI18N.isDebugEnabled())
{
WSTLogger.arjLoggerI18N.debug("com.arjuna.wst11.messaging.ParticipantCompletionParticipantProcessorImpl.compensate_1", th) ;
}
}
}
else if (!recoveryManager.isParticipantRecoveryStarted())
{
if (WSTLogger.arjLoggerI18N.isWarnEnabled())
{
WSTLogger.arjLoggerI18N.warn("com.arjuna.wst11.messaging.ParticipantCompletionParticipantProcessorImpl.compensate_4", new Object[] {instanceIdentifier}) ;
}
}
else if (recoveryManager.findParticipantRecoveryRecord(instanceIdentifier.getInstanceIdentifier()) != null)
{
if (WSTLogger.arjLoggerI18N.isWarnEnabled())
{
WSTLogger.arjLoggerI18N.warn("com.arjuna.wst11.messaging.ParticipantCompletionParticipantProcessorImpl.compensate_5", new Object[] {instanceIdentifier}) ;
}