@Override public void onEvent(BpelEvent bpelEvent) { if (bpelEvent instanceof ActivityFailureEvent) { String message = ((ActivityFailureEvent) bpelEvent).getProcessId() + " has failed in " + ( (ActivityFailureEvent) bpelEvent).getActivityName() + " Activity"; InstanceStatusMonitor statusMonitor = InstanceStatusMonitor.getInstanceStatusMonitor(); statusMonitor.setLastFailedProcessInfo(message); } else if (bpelEvent instanceof ScopeFaultEvent) { String message = ((ScopeFaultEvent) bpelEvent).getProcessId() + " scope id " + ((ScopeFaultEvent) bpelEvent).getScopeId() + " has failed " + ((ScopeFaultEvent) bpelEvent).getFaultType(); InstanceStatusMonitor statusMonitor = InstanceStatusMonitor.getInstanceStatusMonitor(); statusMonitor.setLastFailedProcessInfo(message); } }
private void requireRecovery() { if (__log.isDebugEnabled()) __log.debug("ActivityRecovery: Activity " + _self.aId + " requires recovery"); sendEvent(new ActivityFailureEvent(_failure.reason)); final ActivityRecoveryChannel recoveryChannel = newChannel(ActivityRecoveryChannel.class); getBpelRuntimeContext().registerActivityForRecovery(