ページの先頭行へ戻る
Interstage Business Application Server アプリケーション開発ガイド
FUJITSU Software

3.1.4 終了

フローの終了は、ルーティング定義画面で終了点を指定することにより設定します。

終了点は、ルーティング定義上で1つ指定することができ、フローの起点となる業務処理開始アプリケーションへ処理結果のメッセージを渡すための結果受信キューを指定することができます。処理結果を業務処理開始アプリケーションへ戻す必要がない運用形態や、メッセージが振り分けられた場合に処理結果を戻さないルートには、終了点を指定しないでください。非同期アプリケーション連携実行基盤では、メッセージのルーティング先がない場合、自動的にフローの終点を認識し、メッセージのルーティングを終了します。
突き放し型で処理結果のメッセージを受信するには、フローの処理が終了している必要があります。また、業務処理開始アプリケーション以外でも、正しいコリレーションIDを指定すれば結果を受信することができます。

終了点のアイコンをダブルクリックすると、結果受信キューと処理結果のメッセージを格納する有効期間を設定する画面が表示されます。
以下に定義画面イメージを示します。

以下にフロー開始/終了の運用パターン例を示します。

通常パターン(結果受信キューの指定あり)

通常パターン(結果受信キューの指定なし)

上図のように処理結果のメッセージを業務処理開始アプリケーションへ通知しない場合は、終了点を指定する必要はありません。

フローの終了が複数存在する運用形態1

上図の場合、アプリケーションBの処理結果のメッセージが業務処理開始アプリケーションへ通知されます。

フローの終了が複数存在する運用形態2

上図の場合、同報・条件分岐からどちらのルートへメッセージがルーティングされても処理結果のメッセージが業務処理開始アプリケーションへ通知されます。

注意

メッセージのルーティング中にメッセージを複数の送信先へ振り分ける運用を行った場合、処理結果のメッセージが複数存在することがあります。
複数の送信先へメッセージを振り分ける運用を行う場合は、receiveMessageメソッドを複数回発行し、すべての処理結果のメッセージを取得してください。

フローの途中にあるアプリケーションの完了で待ち合わせ型の完了を起点へ通知する運用形態

上図の場合、アプリケーションCの結果が業務処理開始アプリケーションへ通知されます。

ループ処理をする運用形態

条件式1がtrueとなるかぎり、処理がループされる運用形態です。
条件式1がtrueとならないメッセージの場合は、同報・条件分岐の地点でフローの終点と判断されます。

注意

  • 以下の場合、結果受信キューへメッセージが送信されます。

    • 結果受信キューが定義されている終了点へ正常にメッセージが送信された場合

    • メッセージの途中で異常が発生した場合

    • 補償処理メッセージが正常に終了した場合

    異常が発生した場合は、異常が発生したキューへメッセージが送られてきた段階の業務データの内容が返却されます。補償処理メッセージが正常に終了した場合は、補償処理メッセージが終了した段階の業務データの内容が返却されます。

  • 結果受信キューへ格納されている処理結果のメッセージの確認、および削除は、非同期アプリケーション連携実行基盤が提供するコマンドで行うことができます。詳細は、“Interstage Business Application Server リファレンス”を参照してください。