例えば、停止したスタッフ・アクティビティーなどのアクティビティーの実行を再試行します。 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 要求の処理中にエラーが発生
すると、アクティビティーは失敗状態になります。
障害は、処理されるかプロセス・スコープ
に到達するまで、アクティビティーの囲んでいる
スコープに伝搬されます。次にプロセスは障害状態
になり、最終的に失敗状態になります。