例えば、停止したスタッフ・アクティビティーなどのアクティビティーを完了します。 この例では、出力メッセージが渡されます。
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 です。
この値は、障害が発生した場合、アクティビティーは失敗状態になることを意味し
ます。障害は、処理されるかプロセス・スコープ
に到達するまで、アクティビティーの囲んでいる
スコープに伝搬されます。次にプロセスは障害状態
になり、最終的に失敗状態になります。