Cosminexus 機能解説

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

11.3.1 CTMを使用する場合の処理の流れ

ここでは,CTMを使用する場合の処理の流れについて説明します。

<この項の構成>
(1) J2EEサーバの起動処理
(2) J2EEアプリケーションのデプロイ・スタート処理
(3) J2EEアプリケーションのストップ・アンデプロイ処理
(4) J2EEサーバ停止処理

(1) J2EEサーバの起動処理

CTMを使用するようにカスタマイズされているJ2EEアプリケーションをデプロイするためには,J2EEサーバの起動時に,CTMデーモンとのコネクションを確立して初期化処理を実行する必要があります。コネクションの確立と初期化は,次の手順で実行します。

  1. CTMを使用するための設定をします。
  2. CTMデーモンを起動します。
  3. J2EEサーバを起動します。

J2EEサーバが起動する時に,J2EEサーバによってコネクションの確立と初期化処理が実行されます。J2EEサーバの起動前に必ずCTMデーモンを起動してください。

なお,J2EEサーバの起動時にコネクションの確立と初期化に失敗した場合は,サーバの起動が失敗します。この場合は,失敗した要因に対策してから,サーバを再起動してください。

(2) J2EEアプリケーションのデプロイ・スタート処理

J2EEアプリケーションのデプロイ・スタートを実行すると,J2EEサーバからCTMデーモンに対して,指定されたキュー名称でスケジュールキューを活性化する要求が発行されます。CTMデーモンでは,キューを活性化してから,CTMデーモンの処理対象になる業務処理プログラムのcreateを,J2EEサーバに対して実行します。createは,CTMデーモンから直接呼び出される業務処理プログラムごとに,同時実行スレッド数(Parallel Count)分実行されます。

業務処理プログラムに対応するEJBオブジェクトリファレンスが作成されると,業務処理プログラムに対応するEJBオブジェクトリファレンスがCTMデーモンに返却されます。CTMデーモンでは,それをプールしておき,スケジュールキューにリクエストが登録された時に,それぞれのリクエストに割り当てます。これによって,リクエストが振り分けられます。

(3) J2EEアプリケーションのストップ・アンデプロイ処理

J2EEアプリケーションをアンデプロイする時には,まず,CTMデーモンから新たにリクエストが振り分けられないように,CTMデーモンが管理しているスケジュールキューを閉塞(非活性化要求)します。CTMデーモンでは,キューを非活性化してから,CTMデーモンの処理対象になる業務処理プログラムのremoveを,J2EEサーバに対して実行します。removeは,CTMデーモンから直接呼び出される業務処理プログラムごとに,同時実行スレッド数(Parallel Count)分実行されます。

そのあとで,CTMを使用しない場合と同じように,アンデプロイ処理が実行されます。

(4) J2EEサーバ停止処理

J2EEサーバを停止する時に,J2EEサーバとCTMデーモンとのコネクションが切断されます。