用する、 アプ リ ケーシ ョ ン レベルのハン ド ルを表し ます。
Interaction-コ ンポーネン ト が EIS 関数を実行で き る よ う に し ます。
こ れ ら の イ ン タ フ ェースは、 できれば こ こ で示す順序で実装し て く だ さ い。
ま た、 アダプ タに必要な以下の イ ン タ フ ェースはいずれ も実装可能です。
ConnectionFactory ConnectionMetaData ConnectionSpec InteractionSpec LocalTransaction Record
ResourceAdapterMetaData
Connection
javax.resource.cci.Connection
Connectionは、 ク ラ イ アン ト が基盤 と な る物理接続にア ク セ スする と き に使用 する、 アプ リ ケーシ ョ ン レベルのハン ド ルを表し ます。Connectionイ ン ス タ ン スに関連付け られた実際の物理接続は、ManagedConnection イ ン ス タ ン ス に よ っ て表さ れます。
6
サービ ス アダプ タ の開発ク ラ イ アン ト は、ConnectionFactory イ ン ス タ ン スで getConnection() メ ソ ッ ド を使用する こ と に よ り 、Connection イ ン ス タ ン ス を取得し ます。
Connectionは、 ゼ ロ個以上の Interactionイ ン ス タ ン ス と 関連付け る こ と が で き ます。
ADK 実装
ADK
では、AbstractConnection と い う 、 こ の イ ン タ フ ェースの抽象実装を提 供し ています。 こ の実装には以下の機能があ り ます。
ADK
ロ ギン グ フ レーム ワー クへのア ク セ スAbstractManagedConnection イ ン ス タ ン スへのア ク セス
状態管理およびアサーシ ョ ン チェ ッ ク
こ の ク ラ スは、 次の メ ソ ッ ド を実装し て拡張する必要があ り ます。
public Interaction createInteraction() throws ResourceException
こ の メ ソ ッ ド は、 こ の接続に関連付け られた対話を作成し ます。 こ の対話によ り 、 アプ リ ケーシ ョ ンが EIS 関数を実行でき る よ う にな り ます。 こ の メ ソ ッ ド の 戻 り 値および例外は、 以下の と お り です。
Interactionイ ン ス タ ン ス を返す
作成操作が失敗し た場合、ResourceExceptionが発生
Interaction
javax.resource.cci.Interaction
javax.resource.cci.Interactionは、 コ ンポーネン ト が EIS 関数を実行で き る よ う に し ます。Interactionイ ン ス タ ン スは、 EIS イ ン ス タ ン ス と の対話を、
以下の メ ソ ッ ド に よ っ てサポー ト し ます。
入力 Record、 出力 Record
および
InteractionSpecを取 り 込む
execute()
メ ソ ッ ド 。 こ の メ ソ ッ ド は、InteractionSpecに よ っ て表さ れ る EIS 関数 を実行し 、 出力 Recordを更新し ます。手順
4 : CCI
の実装アダプ タの開発
6-41
入力 Recordおよび InteractionSpecを取 り 込む execute() メ ソ ッ ド 。 こ の メ ソ ッ ド は、InteractionSpecに よ っ て表さ れ る EIS 関数を実行し 、 戻
り 値 と し て出力 Recordを生成し ます。
Interactionイ ン ス タ ン スは、 接続か ら作成 さ れ、Interactionと
Connection
イ ン ス タ ン ス と の関連付けの保守に必要です。
close() メ ソ ッ ド は、 対話に必要なアダプタ が保守するすべての リ ソース を解放し ます。Interactionイ ン ス タ ン ス を ク ローズ し て も、 関連付け ら れた Connectionイ ン ス タ ン スは ク ローズ を ト リ ガ し ません。
ADK 実装
ADK
では、AbstractInteractionと い う 、 こ の イ ン タ フ ェースの実装を提供し ています。 こ の実装には以下の利点があ り ます。
ADK
ロ ギング フ レーム ワーク へのア ク セスの提供警告の管理
こ の イ ン タ フ ェースには、execute()
を実装する
AbstractInteractionの具象
拡張を提供する必要があ り ます。execute()には 2 つのバージ ョ ンがあ り ます。こ れ ら については、 次に説明し ます。
execute() バージ ョ ン 1
コー ド リ ス ト 6-28 で宣言 さ れてい る execute() メ ソ ッ ド は、
InteractionSpecで表さ れた対話を示し てい ます。
コー ド リ ス ト
6-28 execute()
バージ ョ ン1
のコー ド例 public boolean execute(InteractionSpec ispec, Record input,Record output) throws ResourceException
こ の形の呼び出し では、execute()は入力レ コー ド を取 り 込んで、 出力レ コー ド を更新し ます。 以下を返し ます。
6
サービ ス アダプ タ の開発
EIS
関数の実行が正常に行われ出力 (Record) が更新さ れた場合の戻 り 値はtrue
、 そ う でない場合は false例外 ResourceException-実行操作が失敗し た場合 以下の表に、execute()
バージ ョ ン 1 のパ ラ メ ータ を示し ます。
execute() バージ ョ ン 2
コー ド リ ス ト 6-29 で宣言さ れてい る execute() メ ソ ッ ド で も、
InteractionSpecで表 さ れた Interactionが実行さ れます。
コー ド