javax.resource.cci.ConnectionSpec
ConnectionSpecは、 アプ リ ケーシ ョ ン コ ンポーネン ト が接続要求固有のプロ パテ ィ を ConnectionFactory.getConnection() メ ソ ッ ド に渡す と き に使用さ れます。
こ の ConnectionSpec イ ン タ フ ェース を JavaBean と し て実装し、 ツールをサ ポー ト でき る よ う にする こ と をお勧め し ます。ConnectionSpec実装ク ラ スのプ ロパテ ィ は、 ゲ ッ ター メ ソ ッ ドおよびセ ッ ター メ ソ ッ ド のパ ターンに よ っ て定 義し ます。
CCI 仕様によ り 、
ConnectionSpecの標準プロパテ ィ のセ ッ ト が定義さ れます。
プ ロパテ ィ の定義は、 派生イ ン タ フ ェース ま たは空の ConnectionSpecイ ン タ フ ェースの実装 ク ラ スに対し て行われます。 さ ら に、 アダプ タでは基本 と な る
EIS
に固有の追加プ ロパテ ィ を定義でき ます。6
サービ ス アダプ タ の開発ADK 実装
ConnectionSpec
実装は、 JavaBean でなければな ら ないので、 ADK では こ の ク
ラ スに対し ては実装を提供し てい ません。InteractionSpec
javax.resource.cci.InteractionSpec
InteractionSpecは、 EIS イ ン ス タ ン ス と の対話を行 う のに必要なプ ロパテ ィ を格納し ています。 特に、 こ れは基本 と な る EIS の指定関数を対話で実行する と き に使用さ れます。
CCI
仕様に よ り 、InteractionSpecの標準プロパテ ィ のセ ッ ト が定義 さ れます。標準プロパテ ィ を基本の EIS に適用し ない場合、 標準プ ロパテ ィ のサポー ト のた めに InteractionSpecを実装する必要はあ り ません。
InteractionSpec実装 ク ラ スは、 サポー ト さ れる 各プ ロパテ ィ に対し てゲ ッ ター メ ソ ッ ド およびセ ッ ター メ ソ ッ ド を提供する必要があ り ます。 こ のゲ ッ ター メ ソ ッ ド およびセ ッ ター メ ソ ッ ド 規約は、 JavaBean 設計パ ターンに基づい てい る必要があ り ます。
InteractionSpecイ ン タ フ ェースは、 ツールをサポー ト する ためには、
JavaBean
と し て実装する必要があ り ます。InteractionSpec イ ン タ フ ェースの実装ク ラ スは、java.io.Serializable イ ン タ フ ェース を実装する必要があ り ます。
InteractionSpec
には、
Recordにはないが、 どの EIS 関数を呼び出すかを判断
する と き に役立つ情報が入っ てい ます。次の表では、 標準プ ロパテ ィ について説明し ます。
表
6-5
標準InteractionSpec
プロパテ ィプロパテ ィ 説明
FunctionName
EIS
関数の名前InteractionVerb
EIS
イ ン ス タ ン ス と の対話モー ド で、SYNC_SEND、 SYNC_SEND_RECEIVE、 ま たはSYNC_RECEIVEがある 。
手順
4 : CCI
の実装アダプ タの開発
6-53
以下の標準プ ロパテ ィ は、 対話イ ン ス タ ン スの ResultSet要件に関する判断材 料 と し て使用さ れます。FetchSize FetchDirection MaxFieldSize ResultSetType
ResultSetConcurrency
CCI
実装では、InteractionSpec イ ン タ フ ェースに記述 さ れたプ ロパテ ィ 以外 の追加プロパテ ィ を指定で き ます。注意
:
追加プ ロパテ ィ のフ ォーマ ッ ト およびタ イ プは、 EIS に固有の も ので、CCI
仕様のス コープ外です。ADK 実装
ADK
には、InteractionSpecImplと い う 、javax.resource.cci.InteractionSpec
の具象実装が入っ てい ます。 こ の イ ン
タ フ ェースは、 表 6-5 で説明 さ れている標準対話プ ロパテ ィ にゲ ッ ター メ ソ ッ ド およびセ ッ ター メ ソ ッ ド を使用する こ と に よ って拡張で き る、 基本実装を提供し ます。
ExecutionTimeout
Interaction
が、EIS
で指定関数を実行する のを待つ時 間 ( ミ リ 秒)表
6-5
標準InteractionSpec
プロパテ ィ (続き)プロパテ ィ 説明
6
サービ ス アダプ タ の開発LocalTransaction
javax.resource.cci.LocalTransaction
LocalTransactionイ ン タ フ ェースは、 アプ リ ケーシ ョ ン レベルの ローカル ト ラ ンザ ク シ ョ ン境界設定に使用さ れます。 こ れは、 リ ソ ース マネージ ャの ロー カル ト ラ ンザ ク シ ョ ンに対する ト ラ ンザ ク シ ョ ン境界設定イ ン タ フ ェースです。
シ ス テ ム規約レベルの LocalTransactionイ ン タ フ ェース
(javax.resource.spi packageで定義さ れてい る) は、 コ ンテナの ローカル ト ラ ンザ ク シ ョ ン管理に使用さ れます。
ローカル ト ラ ンザ ク シ ョ ンは、 リ ソ ース マネージ ャ の内部で管理 さ れます。
ローカル ト ラ ンザ ク シ ョ ンの調整には、 外部 ト ラ ンザ ク シ ョ ン マネージ ャは関 与し ません。
CCI
実装は、LocalTransactionイ ン タ フ ェース を実装で き ます (必須ではあ り ません)。LocalTransactionイ ン タ フ ェースが CCI 実装でサポー ト さ れてい る
場合、Connection.getLocalTransaction() メ ソ ッ ド は、LocalTransaction イ ン ス タ ン ス を返すこ と にな り ます。 する と 、 コ ンポーネン ト は、 返さ れた LocalTransactionを使用し て、 基本の EIS イ ン ス タ ン スに対し て、(Connectionイ ン ス タ ン スに関連付け ら れた) リ ソース マネージ ャ の ローカル ト ラ ンザ ク シ ョ ンの境界設定を行 う こ と ができ ます。
com.bea.adapter.spi.AbstractLocalTransaction
ク ラ ス で も こ の イ ン タ
フ ェース を実装し ます。ローカル ト ラ ンザ ク シ ョ ンの詳細については、 6-25 ページの 「 ト ラ ンザ ク シ ョ ン境界設定」 を参照し て く だ さ い。