3.16.8 Connector 1.5仕様に準拠したリソースアダプタを使用する場合の設定
ここでは,Connector 1.5仕様に準拠したリソースアダプタを使用する場合のJ2EEアプリケーションとリソースアダプタの設定について説明します。
設定は,それぞれアプリケーション統合属性ファイル※とConnector属性ファイルに指定します。
- 注※
-
この項の説明は,すべてアプリケーション統合属性ファイルを使用する場合の説明です。cjgetapppropコマンドでMessage-driven Bean属性ファイルを取得した場合は,Message-driven Bean属性ファイルに指定できます。Message-driven Bean属性ファイルを使用する場合は,「アプリケーション統合属性ファイルの<hitachi-connector-property>タグ下」を「Message-driven Bean属性ファイル」に読み替えてください。
- 〈この項の構成〉
(1) 設定できる項目
Connector 1.5仕様に準拠したリソースアダプタを使用する場合に設定できる項目について説明します。
(a) J2EEアプリケーションの設定
J2EEアプリケーションに設定できる内容を次の表に示します。
機能 |
項目 |
対象 |
設定内容 |
---|---|---|---|
管理対象オブジェクトのルックアップ |
管理対象オブジェクトのルックアップで使用する情報 |
WAR,Session Bean,Entity Bean,Message-driven Bean |
<resource-env-ref>タグ下の次のタグに設定します。
|
メッセージインフロー※ |
リソースアダプタとの対応づけ |
Message-driven Bean |
<message-ref>−<connection-destination>タグ下の<resource-adapter>タグに,対応づけるリソースアダプタの表示名を指定します。 |
Message-driven Beanが使用するインタフェース |
Message-driven Bean |
<messaging-type>タグに,Message-driven Beanが実装するインタフェースを指定します。 |
|
ActivationSpecの設定 |
Message-driven Bean |
<activation-config>−<activation-config-property>タグ下の<activation-config-property-name>タグおよび<activation-config-property-value>タグに,ActivationSpecに設定するプロパティを指定します。 |
(b) リソースアダプタの設定
リソースアダプタのプロパティとして設定する項目のうち,Connector 1.5仕様に準拠したリソースアダプタで設定できる主な項目と,その項目の設定方法について説明します。なお,ここでは,Connector 1.5仕様に準拠したリソース固有の内容を説明します。
Connector 1.5仕様に準拠したリソースアダプタのプロパティとして設定できる内容を次の表に示します。
分類 |
項目 |
設定内容 |
---|---|---|
管理対象オブジェクト |
管理対象オブジェクト名※1 |
<adminobject>−<adminobject-name>タグ※2にルックアップで使用するオブジェクト名を指定します。管理対象オブジェクトをルックアップの対象にする場合は必ず指定してください。オブジェクト名には,連続したアンダースコア"__"を含めてはいけません。 なお,管理対象オブジェクトをルックアップする場合には,J2EEアプリケーションの設定も必要です。「(a) J2EEアプリケーションの設定」を参照してください。 |
インタフェース |
<adminobject>−<adminobject-interface>タグに使用するインタフェースを指定します。javax.jms.Queue,javax.jms.Topicなどを指定します。 |
|
実装クラスとプロパティ |
<adminobject-class>タグに実装クラスを指定します。 <config-property>タグ下に管理対象オブジェクトのプロパティを設定します。 |
(2) 管理対象オブジェクトの設定
メッセージインフローで使用する管理対象オブジェクトの設定は,Connector属性ファイルに記述します。
管理対象オブジェクトに設定する内容は,リソースアダプタに依存します。使用するリソースアダプタのドキュメントを参照してください。
管理対象オブジェクトは,Message-driven Beanと対応づけて使用します。対応づけについては,「(5) ActivationSpecの設定」を参照してください。
(3) Message-driven Beanとリソースアダプタの対応づけの設定
Message-driven Beanとリソースアダプタの対応づけは,アプリケーション統合属性ファイルの<resource-adapter>タグに指定します。リソースアダプタの表示名を指定してください。
<resource-adapter>の階層を次に示します。
<hitachi-message-bean-property> <message-ref> <connection-destination> <resource-adapter>
これらのタグは,DD(ejb-jar.xml)には存在しない要素です。ただし,<hitachi-message-bean-property>はDDの<message-driven>に対応します。
リソースアダプタとの対応づけは,Message-driven Beanを含むJ2EEアプリケーションを開始したときに実行されます。なお,次の場合には,Message-driven Beanを含むJ2EEアプリケーションの開始が失敗します。この場合は,KDJE42359-Eのメッセージが出力されます。
-
<resource-adapter>タグにリソースアダプタの表示名が指定されていない場合
-
<resource-adapter>タグに指定した表示名のリソースアダプタが開始されていない場合
-
<resource-adapter>タグに指定した表示名のリソースアダプタが見つからない場合
Message-driven Beanは,管理対象オブジェクトとも対応づける必要があります。対応づけについては,「(5) ActivationSpecの設定」を参照してください。
- 参考
-
アプリケーションサーバでは,<message-driven>−<message-destination-link>タグの情報は指定できません。
(4) Message-driven Beanが使用するインタフェースの設定
Message-driven Beanが使用するインタフェースは,アプリケーション統合属性ファイルの<messaging-type>タグに記述します。Message-driven Beanが実装するインタフェース名を指定してください。
<messaging-type>の階層を次に示します。
<hitachi-message-bean-property> <messaging-type>
<hitachi-message-bean-property>はDD(ejb-jar.xml)の<message-driven>に対応します。
Message-driven Beanが使用するインタフェースには,リソースアダプタがサポートしているインタフェースを指定する必要があります。リソースアダプタがサポートするインタフェースは,リソースアダプタのDD(ra.xml)の<messagelistener-type>タグに指定されています。このタグに指定されている以外のインタフェースを指定した場合は,Message-driven Beanを含むJ2EEアプリケーションの起動が失敗します。この場合は,KDJE43167-Eのメッセージが出力されます。
リソースアダプタがサポートしているインタフェースは,サーバ管理コマンドの次のコマンドでも確認できます。これらのコマンドの引数に,-resnameおよび-inboundを指定して実行してください。
-
cjlistresコマンド
詳細については,マニュアル「アプリケーションサーバ リファレンス コマンド編」の「cjlistres(リソースの一覧表示)」を参照してください。
-
cjlistrarコマンド
詳細については,マニュアル「アプリケーションサーバ リファレンス コマンド編」の「cjlistrar(リソースアダプタの一覧表示)」を参照してください。
-
cjlistappコマンド
詳細については,マニュアル「アプリケーションサーバ リファレンス コマンド編」の「cjlistapp(アプリケーションの一覧表示)」を参照してください。
なお,<messaging-type>タグの指定を省略した場合は,デフォルト値としてjavax.jms.MessageListenerインタフェースが使用されます。
- 参考
-
javax.jms.MessageListenerインタフェースは,EJB2.0まで固有のメッセージリスナインタフェースとして使用されていたインタフェースです。
(5) ActivationSpecの設定
ActivationSpecとは,Message-driven Beanを活性化するために必要な設定を持つJavaBeansです。ActivationSpecには,リソースアダプタの設定に合わせて設定が必要なプロパティがあります。
(a) ActivationSpecの設定の概要
ActivationSpecに設定する値は,アプリケーション統合属性ファイルの<activation-config>タグ下に記述します。プロパティ名とプロパティ値を指定してください。複数指定できます。
<activation-config>の階層を次に示します。
<hitachi-message-bean-property> <activation-config> <activation-config-property> <activation-config-property-name> <activation-config-property-value>
ActivationSpecについてのデフォルトの設定値は,リソースアダプタのDD(ra.xml)に設定できます。<resourceadapter>−<config-property>タグに設定した値が,デフォルト値として使用されます。デフォルト値を記載している場合にアプリケーション統合属性ファイルでActivationSpecの値を設定したときには,<hitachi-message-bean-property>タグ下で指定した値で上書きされます。
ActivationSpecのプロパティとして必ず設定しなくてはいけないプロパティについては,「(b) 設定が必要なプロパティ」で説明します。
(b) 設定が必要なプロパティ
ActivationSpecの設定では,リソースアダプタのDD(ra.xml)の<activationspec>−<required-config-property>タグに指定されているプロパティの値を設定する必要があります。設定が必要なプロパティは,サーバ管理コマンドの次のコマンドでも確認できます。これらのコマンドの引数に,-resnameおよび-listenertypeを指定して実行してください。
-
cjlistresコマンド
-
cjlistrarコマンド
-
cjlistappコマンド
このほか,ActivationSpecに設定できるプロパティはリソースアダプタに依存します。使用するリソースアダプタのドキュメントを参照してください。
(c) JMSをサポートするメッセージリスナを使用する場合に設定が必要なプロパティ
JMSをサポートするメッセージリスナ(javax.jms.MessageListenerインタフェースを使用するメッセージリスナ)を使用する場合,ActivationSpecに次のプロパティが必要です。<activation-config>タグ下に指定してください。
-
destination
-
destinationType
なお,アプリケーションサーバでは,これらのプロパティが指定されているかどうかのチェックは実施されません。プロパティ設定が適切かどうかは,リソースアダプタが提供するActivationSpec#validateメソッドで確認してください。
- 参考
-
EJB 2.0で<message-driven>タグ下の要素として指定していた次の項目は,EJB 2.1以降では削除されています。
-
<message-selector>
-
<acknowledge-mode>
-
<message-driven-destination>−<subscription-durability>
Connector 1.5仕様では,これらの要素を<activation-config>下のプロパティとして指定できることが推奨されています。ただし,指定できるかどうかは使用するリソースアダプタに依存します。
-
JMSをサポートするメッセージリスナを使用する場合のActivationSpec仕様の詳細については,Connector 1.5仕様のドキュメントを参照してください。
(d) ActivationSpecの生成・設定で発生するエラー
ActivationSpecを生成,設定するときに,次の表に示す状態になった場合,エラーが発生します。エラーが発生すると,J2EEアプリケーションの開始は失敗します。
エラーが発生する場合と出力されるメッセージを次の表に示します。
エラーが発生する場合 |
出力されるメッセージ |
---|---|
ActivationSpecの実装クラスのインスタンス生成に失敗した場合 |
KDJE43168-E |
ActivationSpecに指定したクラスがjavax.resource.spi.ActivationSpecインタフェースを実装していなかった場合 |
KDJE43172-E |
<activation-config-property-name>タグに対応するプロパティのsetterメソッドが,ActivationSpecにない場合 |
KDJE43169-E |
ActivationSpecに各プロパティを設定したあとで,設定が適切であるかをチェックするメソッド(ActivationSpec#validateメソッド)の呼び出しで例外がスローされた場合 |
KDJE43170-E |
リソースアダプタのDD(ra.xml)で指定したプロパティ<required-config-property>タグに対応する設定項目が,アプリケーション統合属性ファイルの<activation-config>タグとして記述されていない場合 |
KDJE43171-E |
ActivationSpecのsetResourceAdapterメソッドで例外がスローされた場合※ |
KDJE43173-E |