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

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

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

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

<この項の構成>
(1) コマンドラインを利用する場合
(2) サーブレットを利用する場合
(3) EJBを利用する場合

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

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

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

メソッド名呼び出し位置
initializeClient起動時に1回だけ呼び出します。
connectClientIDtoCurrentThreadスタブが提供するメソッドを呼び出す前に1回だけ呼び出します。マルチスレッド環境の場合は,各スレッドの開始時に1回だけ呼び出します。
disconnectClientIDtoCurrentThreadスタブが提供するメソッドを呼び出したあとに1回だけ呼び出します。マルチスレッド環境の場合は,各スレッドの終了時に1回だけ呼び出します。
finalizeClient終了時に1回だけ呼び出します。

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

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

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

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

(3) EJBを利用する場合

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

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

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