• 検索結果がありません。

Connection

ドキュメント内 devadapt.book (ページ 109-112)

用する、 アプ リ ケーシ ョ ン レベルのハン ド ルを表し ます。

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が実行さ れます。

コー ド

リ ス ト 6-29 execute() バージ ョ ン 2 のコー ド例

ドキュメント内 devadapt.book (ページ 109-112)