エラーを発生時に適切に処理するようにプロセスを設計できます。
-
実行時にプロセスデータを監視するには、Variable Logger サービスを使用します。
-
実行エラーを処理するには、イベントキャッチを使用します。
-
望ましくない状況が発生したときに実行を中断するには、Stall サービスを使用します。
実行エラー
実行エラーが発生すると、プロセスインスタンスは停止します。プロセスインスタンスは、次のいずれかの理由で処理を完了できません。
停止した操作のエラー
停止した操作のエラーは、プロセスバージョンの操作が実行時に失敗したときに発生します。例えば、Set Value サービスからの execute 操作では、文字列値を float データ型のプロセス変数に割り当てようとします。この値は無効であり、操作は停止します。
停止したブランチのエラー
停止したブランチのエラーは、ルーティング条件にエラーがある場合に発生します。例えば、フォームの値を使用するルートに条件が設定されている場合があります。ルート条件は数値に基づきますが、フォーム値は誤って文字列値として入力されています。このエラーにより、ブランチは停止します。
管理コンソール内から、停止した操作のエラーまたは停止したブランチのエラーのリストと詳細を表示できます。停止した操作またはブランチの名前が表示されます。トレースバックの詳細を表示して、その情報を問題の原因の特定に役立てることができます。
実装エラー
プロセスバージョンの実行が正常に完了しても、プロセスバージョンが設計どおりに動作しない場合は、実装エラーが発生します。例えば、すべての高リスクローンの申し込みをマネージャーにルーティングするルート条件があり、マネージャーにこれらのローン申し込みがルーティングされない場合は、プロセスバージョンにエラーがあります。実装エラーには、計算エラーと状況エラーの 2 つのタイプがあります。
計算エラー
計算エラーは、コマンドを実行してエラーが発生した場合に発生します。例えば、式内の関数で誤ったデータ型のパラメーターが使用されている場合、ルーティング条件でエラーが発生することがあります。エラーが発生すると、関連するブランチまたはアクションは、AEM forms 管理者が介入するまで停止します。プロセスバージョンで使用されるブランチのタイプによっては、計算エラーの影響が軽減される可能性があります。
状況エラー
状況エラーは、プロセスバージョンが設計どおりに動作しても、プロセスバージョンの実行中に望ましくない問題が発生すると、発生します。例えば、プロセスバージョンによって、タスクが特定のユーザーグループ内のユーザーにランダムに割り当てられるとします。そのユーザーが特定時間までにタスクを完了しない場合、そのタスクはグループ内の同じユーザーに誤って再割り当てされます。
状況エラーは、タスクが同じユーザーに再割り当てされた場合に発生します。状況エラーを回避するために、その状況が発生する前にブランチを停止させることができます。その後、管理者が介入して状況の修正を試みることができます。
Variable Logger サービスを使用した変数の監視
実稼働環境で実行時にプロセス変数の値を監視するには、Variable Logger サービスに用意されているログ操作を使用します。ログ操作は、プロセスの特定のポイントで変数値をファイル、標準出力または AEM forms サーバーログに書き込みます。
例えば、次のプロセスダイアグラムには、Assign Task 操作後のログ操作が含まれています。ログ操作後、Assign Task 操作で取得されたデータが Set Value サービスの execute 操作によって処理されます。ログ操作は変数データをファイルに保存します。execute 操作が実行時に停止した場合、ログに記録された変数値を使用してエラーをトラブルシューティングできます。
ログ操作によって、プロセス内の各変数に関する次の情報が報告されます。
次のテキストは、log3 というログ操作によるログエントリの例です。log3 操作は ActionID が 37 で、PID が 13 のプロセスインスタンスで実行されました。プロセスには、numberVar および listVar という 2 つの変数が含まれています。
[PID:13] [ActionID:37] Action Name: "log3" Start...
[PID:13] /process_data/@numberVar - java.lang.Float: 100000.0
[PID:13] /process_data/@listVar: null
[PID:13] [ActionID:37] End!
ログ操作について詳しくは、
log 操作
を参照してください。
例外イベントキャッチを使用したエラーの処理
例外イベントキャッチを使用すると、プロセスは操作の実行時に発生したエラーに対応できるようになります。例えば、例外イベントがキャッチされると、プロセスは情報をログファイルに書き込んだり、電子メールを AEM forms 管理者に送信したりできます(
イベントスローの取得
を参照)。
次のプロセスダイアグラムでは、Remove PDF Password Encryption 操作を使用して PDF ドキュメントを復号化し、Write Document 操作を使用してハードドライブにドキュメントを保存しています。ドキュメントの復号化時に EncyrptionServiceException 例外が発生した場合、Send With Document 操作は電子メールを送信して管理者に通知します。
Stall サービスを使用した状況エラーの処理
予想される状況エラーの発生を防ぐには、Stall サービスに用意されている execute 操作を使用します。
例えば、プロセスにおいてパートナーのデータベースなどの外部リソースから提供されるデータを使用できます。
Execute Script
サービスの
executeScript
操作は、データが有効であるかを検証するために使用できます。データが有効でない場合、Stall サービスの execute 操作は、データベース内のデータの修正中にプロセスインスタンスを停止できます。
|
|
|