Hitachi

Cosminexus V11 アプリケーションサーバ SOAPアプリケーション開発の手引


3.7.2 ManagementクラスとClientIDクラスの使用

Managementクラスは,トレースファイルおよびアプリケーションログの初期化処理と終了処理,クライアント識別子とスレッドの関連づけを行うクラスです。また,ClientIDクラスはクライアント識別子を表すクラスです。SOAP通信基盤でクライアントを開発する場合は,必ずManagementクラスとClientIDクラスを使用してください。

なお,サーバから別のSOAPアプリケーションを呼び出すような場合(サーバが別のサーバに対するクライアントとなる場合)は,このクラスのメソッドを使用する必要はありません。

ManagementクラスおよびClientIDクラスのAPI仕様については,「13. SOAP通信基盤が提供するAPI」を参照してください。

ここでは,ManagementクラスおよびClientIDクラスのメソッドを呼び出すタイミングについて説明します。

〈この項の構成〉

(1) コマンドラインを利用する場合

コマンドラインからSOAPアプリケーションを利用する場合,Managementクラスのメソッドは次の表に示すタイミングで呼び出します。

表3‒25 Managementクラスのメソッド呼び出しのタイミング(コマンドライン利用時)

メソッド名

呼び出し位置

initializeClient

起動時に1回だけ呼び出します。

connectClientIDtoCurrentThread

スタブが提供するメソッドを呼び出す前に1回だけ呼び出します。マルチスレッド環境の場合は,各スレッドの開始時に1回だけ呼び出します。

disconnectClientIDtoCurrentThread

スタブが提供するメソッドを呼び出したあとに1回だけ呼び出します。マルチスレッド環境の場合は,各スレッドの終了時に1回だけ呼び出します。

finalizeClient

終了時に1回だけ呼び出します。

(2) サーブレットを利用する場合

サーブレットからSOAPアプリケーションを利用する場合,Managementクラスのメソッドは次の表に示すタイミングで呼び出します。

表3‒26 Managementクラスのメソッド呼び出しのタイミング(サーブレット利用時)

メソッド名

呼び出し位置

initializeClient

initメソッドで1回だけ呼び出します。

connectClientIDtoCurrentThread

スタブが提供するメソッドを呼び出す前に1回だけ呼び出します。

disconnectClientIDtoCurrentThread

スタブが提供するメソッドを呼び出したあとに1回だけ呼び出します。マルチスレッド環境の場合は,各スレッドの終了時に1回だけ呼び出します。

finalizeClient

destroyメソッドで1回だけ呼び出します。

(3) EJBを利用する場合

EJBからSOAPアプリケーションを利用する場合,Managementクラスのメソッドは次の表に示すタイミングで呼び出します。

表3‒27 Managementクラスのメソッド呼び出しのタイミング(EJB利用時)

メソッド名

呼び出し位置

initializeClient

ejbCreateメソッドで1回だけ呼び出します。

connectClientIDtoCurrentThread

スタブが提供するメソッドを呼び出す前に1回だけ呼び出します。

disconnectClientIDtoCurrentThread

スタブが提供するメソッドを呼び出したあとに1回だけ呼び出します。マルチスレッド環境の場合は,各スレッドの終了時に1回だけ呼び出します。

finalizeClient

ejbRemoveメソッドで1回だけ呼び出します。