フローの終了は、ルーティング定義画面で終了点を指定することにより設定します。
終了点は、ルーティング定義上で1つ指定することができ、フローの起点となる業務処理開始アプリケーションへ処理結果のメッセージを渡すための結果受信キューを指定することができます。処理結果を業務処理開始アプリケーションへ戻す必要がない運用形態や、メッセージが振り分けられた場合に処理結果を戻さないルートには、終了点を指定しないでください。非同期アプリケーション連携実行基盤では、メッセージのルーティング先がない場合、自動的にフローの終点を認識し、メッセージのルーティングを終了します。
突き放し型で処理結果のメッセージを受信するには、フローの処理が終了している必要があります。また、業務処理開始アプリケーション以外でも、正しいコリレーションIDを指定すれば結果を受信することができます。
終了点のアイコンをダブルクリックすると、結果受信キューと処理結果のメッセージを格納する有効期間を設定する画面が表示されます。
以下に定義画面イメージを示します。
以下にフロー開始/終了の運用パターン例を示します。
上図のように処理結果のメッセージを業務処理開始アプリケーションへ通知しない場合は、終了点を指定する必要はありません。
上図の場合、アプリケーションBの処理結果のメッセージが業務処理開始アプリケーションへ通知されます。
上図の場合、同報・条件分岐からどちらのルートへメッセージがルーティングされても処理結果のメッセージが業務処理開始アプリケーションへ通知されます。
注意
メッセージのルーティング中にメッセージを複数の送信先へ振り分ける運用を行った場合、処理結果のメッセージが複数存在することがあります。
複数の送信先へメッセージを振り分ける運用を行う場合は、receiveMessageメソッドを複数回発行し、すべての処理結果のメッセージを取得してください。
上図の場合、アプリケーションCの結果が業務処理開始アプリケーションへ通知されます。
条件式1がtrueとなるかぎり、処理がループされる運用形態です。
条件式1がtrueとならないメッセージの場合は、同報・条件分岐の地点でフローの終点と判断されます。
注意
以下の場合、結果受信キューへメッセージが送信されます。
結果受信キューが定義されている終了点へ正常にメッセージが送信された場合
メッセージの途中で異常が発生した場合
補償処理メッセージが正常に終了した場合
異常が発生した場合は、異常が発生したキューへメッセージが送られてきた段階の業務データの内容が返却されます。補償処理メッセージが正常に終了した場合は、補償処理メッセージが終了した段階の業務データの内容が返却されます。
結果受信キューへ格納されている処理結果のメッセージの確認、および削除は、非同期アプリケーション連携実行基盤が提供するコマンドで行うことができます。詳細は、“Interstage Business Application Server リファレンス”を参照してください。