このタスクを実行する理由とタイミング
アクティビティーで障害が発生した場合、障害タイプによってそのアクティビティーの修復のために実行できるアクションが決まります。
このタスクのステップ
- 停止状態の staff アクティビティーを
リストします。
QueryResultSet result =
process.query("ACTIVITY.AIID",
"ACTIVITY.STATE = ACTIVITY.STATE.STATE_STOPPED AND
ACTIVITY.KIND=ACTIVITY.KIND.KIND_INVOKE",
null, null, null);
このアクションは、
停止された invoke アクティビティーが含まれる
照会結果セットを戻します。
- 障害の名前を読み取ります。
これは、障害キュー名のローカル・パーツです。
if (result.size() > 0)
{
result.first();
AIID aiid = (AIID) result.getOID(1);
ActivityInstanceData activity = process.getActivityInstance(aiid);
ProcessException excp = activity.getUnhandledException();
if ( excp instanceof ApplicationFaultException )
{
ApplicationFaultException fault = (ApplicationFaultException)excp;
String faultName = fault.getFaultName();
}
}