重新尝试执行该活动,例如,执行已停止的人员活动。 if (result.size() > 0)
{
result.first();
AIID aiid = (AIID) result.getOID(1);
ActivityInstanceData activity = process.getActivityInstance(aiid);
ClientObjectWrapper input =
process.createMessage(aiid, activity.getOutputMessageTypeName());
DataObject myMessage = null;
if ( input.getObject()!= null && input.getObject() instanceof DataObject )
{
myMessage = (DataObject)input.getObject();
//set the strings in your message, for example, chocolate is to be ordered
myMessage.setString("OrderNo", "chocolate");
}
boolean continueOnError = true;
process.forceRetry(aiid, input, continueOnError);
}
此操作将重试该活动。continueOnError
参数确定了 forceRetry 请求处理期间出错时执行的操作。
在本示例中,continueOnError
值是 true。此值表示如果 forceRetry 请求处理期间出错,该活动就会进入“已失败”状态。此故障将传播到该活动的外层作用域,直到它被处理或者到达流程作用域为止。如果该故障到达流程作用域,该流程就会进入“正在失败”状态并最终进入“已失败”状态。