Cosminexus V9 BPM/ESB基盤 サービスプラットフォーム 解説

[目次][用語][索引][前へ][次へ]

3.4.7 応答アクティビティのトランザクション

この項では,応答アクティビティのトランザクション制御について説明します。

応答アクティビティのあとに定義されたアクティビティを非同期に実行する方法については,「3.7 応答アクティビティのあとに定義されたアクティビティの非同期実行」を参照してください。

<この項の構成>
(1) 応答アクティビティのあとにアクティビティが定義されていない場合のトランザクション制御
(2) 応答アクティビティのあとにアクティビティが定義されている場合のトランザクション制御
(3) 応答アクティビティのトランザクションおよびステータスの遷移

(1) 応答アクティビティのあとにアクティビティが定義されていない場合のトランザクション制御

応答アクティビティのあとにアクティビティが定義されていない場合,応答アクティビティの実行時に応答アクティビティの状態を完了状態(Completed)に遷移し,メッセージを応答する直前にトランザクションをコミットします。

図3-44 応答アクティビティのあとにアクティビティが定義されていない場合のトランザクション制御

[図データ]

(2) 応答アクティビティのあとにアクティビティが定義されている場合のトランザクション制御

(a) 応答後のアクティビティ実行にReliable Messagingを使用する場合

応答アクティビティのあとにアクティビティが定義されていて,応答後のアクティビティ実行にReliable Messagingを使用する場合の,トランザクション制御を次に示します。

  1. 応答アクティビティのあとにアクティビティが定義されていて,応答後のアクティビティ実行にReliable Messagingを使用する場合,応答アクティビティ実行時に応答アクティビティの状態を完了状態(Completed)に遷移します。
  2. 応答のあとに定義されたアクティビティの非同期実行の要求処理をReliable Messagingに対して実行し,メッセージを応答する直前にトランザクションをコミットします。
  3. Reliable Messagingから,応答アクティビティのあとに定義されたアクティビティの非同期実行を実行します。
  4. 応答アクティビティのあとに定義されたアクティビティを実行する前に,トランザクションが開始されます。

    図3-45 応答アクティビティのあとにアクティビティが定義されていて,応答後のアクティビティ実行にReliable Messagingを使用する場合のトランザクション制御

    [図データ]

(b) 応答後のアクティビティ実行に非同期EJBを使用する場合

応答アクティビティのあとにアクティビティが定義されていて,応答後のアクティビティ実行に非同期EJBを使用する場合の,トランザクション制御を次に示します。

  1. 応答アクティビティの実行時に,応答アクティビティの状態を完了状態(Completed)に遷移します。
  2. 応答のあとに定義されたアクティビティの非同期実行の要求処理を非同期EJBに対して実行し,応答アクティビティの状態を完了状態(待ち受け)(Completedwait)に遷移します。
  3. メッセージを応答する直前に,トランザクションをコミットします。
  4. 応答のあとに定義されたアクティビティの非同期実行を非同期EJBから実行し,応答アクティビティの状態を完了状態(Completed)に遷移します。
  5. 応答のあとに定義されたアクティビティを実行する前に,トランザクションが開始されます。

    図3-47 応答アクティビティのあとにアクティビティが定義されていて,応答後のアクティビティ実行に非同期EJBを使用する場合のトランザクション制御

    [図データ]

(3) 応答アクティビティのトランザクションおよびステータスの遷移

応答アクティビティのトランザクションおよびステータスの遷移を次の表に示します。

表3-11 応答アクティビティのトランザクションおよびステータスの遷移

応答アクティビティの動作 応答後のアクティビティ実行にReliable Messagingを使用する場合 応答後のアクティビティ実行に非同期EJBを使用する場合
開始 遷移するステータス 完了 完了
トランザクション制御 × ×
Reliable Messagingへの非同期実行の要求 遷移するステータス (実行不可)
トランザクション制御 ×
Reliable Messagingからの非同期実行の応答 遷移するステータス
トランザクション制御 ×
非同期EJBへの非同期実行の要求 遷移するステータス (実行不可) 完了(待ち受け)
トランザクション制御 ×
非同期EJBからの非同期実行の応答 遷移するステータス 完了
トランザクション制御 ×
省略 遷移するステータス 省略 省略
トランザクション制御 × ×
未省略 遷移するステータス 未省略 未省略
トランザクション制御 × ×

(凡例)
×:トランザクションをコミットしません。
−:遷移しません。

注※
この時点ではコミットされませんが,それ以降のトランザクション制御のタイミングでコミットされます。