リソース・アダプターの構成
Java™ EE Connector Architecture (JCA) 仕様バージョン 1.6、1.5、または 1.0 に準拠するリソース・アダプターを構成することができます。
このタスクについて
リソース・アダプターと、JCA 仕様に定義されているさまざまな接続ファクトリー、管理オブジェクト、およびアクティベーション・スペックをインストールし、構成することができます。
手順
例
インストールされているリソース・アダプターに関連付けられている接続ファクトリー、管理オブジェクト、およびアクティベーション・スペックの構成済みインスタンスを識別するために、リソース・アダプターの固有 ID が必要です。スタンドアロン・リソース・アダプターの場合、モジュール名が ID として使用されます。アプリケーションに組み込まれているリソース・アダプターの場合、アプリケーション名とモジュール名の組み合わせ (ピリオド文字で区切られている) が ID として使用されます。
リソース・アダプター ID「MyAdapter」を含む properties.MyAdapter サブエレメントを使用してスタンドアロン・リソース・アダプターのプロパティーを指定するには、次のように指定します。
<resourceAdapter location="C:/adapters/MyAdapter.rar"> <properties.MyAdapter logFile="${server.output.dir}/logs/myAdapter.log"/> </resourceAdapter>
リソース・アダプター ID「MyAdapter」を含む properties.MyAdapter サブエレメントを使用して接続ファクトリーをスタンドアロン・リソース・アダプターに関連付けるには、次のように指定します。
<resourceAdapter location="C:/adapters/MyAdapter.rar"/> <connectionFactory jndiName="eis/cf"> <properties.MyAdapter serverName="localhost" portNumber="1234"/> </connectionFactory>
app1 アプリケーションで使用可能になっているリソース・アダプター MyEmbeddedAdapter に接続ファクトリーを関連付けるには、properties.app1.MyEmbeddedAdapter サブエレメントを使用して、次のように指定します。
<application location="C:/applications/app1.ear"/> <connectionFactory jndiName="eis/cf"> <properties.app1.MyEmbeddedAdapter serverName="localhost" portNumber="1234"/> </connectionFactory>
場合によっては、モジュール名は ID として使用するのに十分に固有ではありません。例えば、同じリソース・アダプターの 2 つの異なるバージョンをインストールした場合などが該当します。あるいは、モジュール名は固有だが、長すぎるか非英数字を含んでいるために、構成での使用に適していない場合があります。リソース・アダプター ID は、ID 属性を指定することによりオーバーライドできます。
以下の例は、スタンドアロン・リソース・アダプターの ID のオーバーライド方法を示したものです。
<resourceAdapter id="MyAdapterV1" location="C:/adapters/version-1.0/MyAdapter.rar"/> <resourceAdapter id="MyAdapterV2" location="C:/adapters/version-2.0/MyAdapter.rar"/> <connectionFactory jndiName="eis/cf1"> <properties.MyAdapterV1 serverName="localhost" portNumber="1234"/> </connectionFactory> <connectionFactory jndiName="eis/cf2"> <properties.MyAdapterV2 serverName="localhost" portNumber="1234"/> </connectionFactory>
以下の例は、アプリケーションに組み込まれたリソース・アダプターの ID のオーバーライド方法を示しています。この例は、ID を MyEmbeddedRA に変更します。
<application location="C:/applications/app1.ear"> <resourceAdapter id="MyEmbeddedAdapter" alias="MyEmbeddedRA"/> </application> <connectionFactory jndiName="eis/cf"> <properties.app1.MyEmbeddedRA serverName="localhost" portNumber="1234"/> </connectionFactory>
組み込まれているリソース・アダプターのモジュール名を計算するために、リソース・アダプター・デプロイメント記述子 (ra.xml) 内の <module-name> 項目がモジュール名として優先されます。例えば、ra.xml に以下の定義を指定した場合、
<connector ...> <module-name>MyRARModule</module-name> </connector>
モジュール名は「MyRARModule」に設定されます。
モジュール名がコネクター・デプロイメント記述子に含まれていない場合は、アプリケーション・デプロイメント記述子 (application.xml) 内のリソース・アダプター・モジュールを参照する、短形式の URI が使用されます。例えば、application.xml に以下のモジュール定義を指定した場合、
<module> <connector>connectors/MyRARModule.rar</connector> </module>
モジュール名は、「MyRARModule」と計算されます。
複数のリソース・アダプターがアプリケーションに組み込まれており、同じ <module-name> 値を定義している場合は、application.xml にリストされている最初の値がそのモジュール名として使用されます。その競合する同じ名前を持つ他のコネクターのモジュール名は、すべての / (スラッシュ) 文字をピリオド (.) に変換した、完全形式の URI から計算されます。例えば、2 つのコネクターがアプリケーションに組み込まれ、その両方が ra.xml に次の定義を含んでおり、
<connector ...> <module-name>MyRARModule</module-name> </connector>
さらに、次の定義を application.xml に含んでいた場合、
<module> <connector>subfolder1/connector1.rar</connector> </module> <module> <connector>subfolder2/connector2.rar</connector> </module>
1 番目のコネクターのモジュール名は「MyRARModule」になり、2 番目のコネクターのモジュール名は「subfolder2.connector2.rar」になります。