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