機械翻訳について

イベント・サブプロセスでのエラーの処理

イベント・サブプロセスは、プロセスの実行時ライフ・サイクルで発生する例外を処理し、失敗の原因となります。

一般に、プロセスではシステム例外とビジネス例外の2タイプの例外が発生することがあります。

  • システム例外: 接続損失、データベース接続障害またはinvokeアクティビティの失敗など、プロセスの基礎となるソフトウェアまたはハードウェア・インフラストラクチャに関連する例外。
  • ビジネス例外: 情報処理に問題がある場合に発生するプロセス・アプリケーションに関連するフォルト。たとえば、在庫品目が見つからない場合に在庫管理および在庫サービスによってエラーがスローされる場合などです。

イベント・サブプロセス要素を使用すると、すべての例外または特定の例外を捕捉し、元のプロセス・フローをリカバリしたり、代替の例外処理フローを提供することができます。 プロセスの複数の要素を使用して、イベント・サブプロセス(または例外処理フロー)を再利用できます。 また、1つのプロセス内で様々な例外を処理するために、複数のイベント・サブプロセスを定義できます。

イベント・サブプロセスの追加

イベント・サブプロセスをフローに追加するには:
  1. 要素パレットで、「システム」を展開します。
  2. 「イベント・サブプロセス」要素をプロセス・エディタ・キャンバス上にドラッグし、必要な位置にドロップします。 イベント・サブプロセスでは受信または送信フローがサポートされないため、プロセス・フローの外部に要素を追加する必要があります。
  3. 「展開」 「Expand」アイコンをクリックして、要素を展開します。 デフォルトのエラー処理フローがエラー開始イベントと終了イベントとともに表示されます。 ヒューマン・タスクなどの他の要素を要件に応じてフローに追加できます。
    プロパティを構成したり要素全体のデータ関連付けを定義することはできませんが、例外を捕捉して処理するように開始エラー・イベントを構成できます。 「開始エラー・イベントの構成」を参照してください。

開始エラー・イベントの構成

イベント・サブプロセス内の開始エラー・イベントを、システムまたはビジネス例外を捕捉するように構成できます。

トピック:

例外の捕捉

エラー開始イベントを選択し、「メニュー」 メニュー・アイコンをクリックしてから、「プロパティを開く」をクリックします。 プロパティ・ペインで、次のようにします:
  1. 実行時にビジネス・フォルトを取得するには、「すべてのビジネス例外の捕捉」を選択します。
  2. 実行時にシステム・フォルトを取得する場合は、「すべてのシステム例外の捕捉」を選択します。
  3. 「例外」フィールドの横にある「ブラウズ」 「Browse」アイコンjをクリックして、特定の例外を参照します。
    1. 例外の表で、「検索」をクリックして、定義した特定のビジネス例外を探して選択し、OKをクリックします。 「ビジネス・タイプ」タブでプロセス・アプリケーションのビジネス例外を定義できます。
    2. 「システム・フォルトの表示」を選択すると、すべての事前定義済システム例外が表示されます。 例外をクリックして、「例外」フィールドに追加します。 次の表に、使用可能なすべてのシステム・フォルトを示します:
    システム・フォルト 説明
    AssertFailure 指定されたアサーションに失敗しました。
    BindingFault フロー・オブジェクトで起動された操作の準備に失敗しました。

    バインディング・フォルト後は起動を再試行することはできません。一般的に、このエラーからのリカバリには管理者操作が必要になります。

    InvalidVariables 使用されている変数が無効です。
    RemoteFault フロー・オブジェクト内のサービスの起動で問題が発生しました。 たとえば、リモート・サービスがSOAPフォルトを戻しました。
    ロールバック 例外のレシーバは、プロセス・フロー内から現在のJava Transaction API (JTA)トランザクションをロールバックできるようになります。
    タイムアウト サービスがレスポンスのタイムアウト期間を超えました。
    ConflictingReceive 起動されたオペレーションに応答するためのreceiveアクティビティが複数あります。
    ConflictingRequest 起動された操作の同じパートナ・リンクに対して複数のリクエストが存在します。
    CorrelationViolation メッセージには必要な相関情報がありません。
    ForcedTermination SOAPフォルトが原因で、サービスが終了しました。
    InvalidReply 応答には、対応する受信が必要とする相関情報は含まれていません。
    MismatchedAssignmentFailure 割り当てられたタイプに互換性がありません。
    RepeatedCompensation 補正ハンドラが複数回起動される場合。
    SelectionFailure 選択操作の実行中にエラーが発生しました。
    UninitializedVariable アクセスしようとしている変数は初期化されていません。