付録D.3 CJMSプロバイダを使用する場合の環境構築
CJMSプロバイダを使用する場合の環境構築手順を次の図に示します。
- 〈この項の構成〉
(1) 前提条件
-
運用管理ポータル(Management Server)によって,Application ServerのインストールおよびJ2EEサーバの構築が完了していること。
-
CJMSプロバイダは,アプリケーションサーバのインストール完了後,次のディレクトリにインストールされていること。
<COSMINEXUS_HOME>/CC/cjmsp
手順実行前に,このディレクトリがあることを確認してください。
(2) プロセス前提条件
-
J2EEサーバプロセスが起動済みであること。
-
CJMSPリソースアダプタが未起動(インポートされていない状態)であること。
-
CJMSPブローカープロセスが未起動であること。
-
アプリケーションが未起動(インポートされていない状態)であること。
(3) 実行に必要な情報および補足説明
(A1)などの記述は,図中の記述と対応しています。
- (A1)
-
- <インスタンス名>
-
省略した場合は,デフォルトで「cjmsbroker」を使用します。
複数インスタンスを使用したい場合には名称が重ならないように注意する必要があります。重なる場合には-nameオプションを指定し,存在しない任意の名称を付与してください。
- (A2)
-
- <ホスト名>:<ポート番号>
-
CJMSPブローカーを起動しているホスト名およびポート番号
CJMSPブローカーの起動時にポート番号を省略した場合にはデフォルトの7676が使用されています。その場合,-bオプションの指定は省略できます。
CJMSPブローカーの状態が「OPERATING」であることを必ず確認してください。
- 注意事項
-
CJMSPブローカーが正常に起動されていない状態でCJMSPリソースアダプタを開始すると,例外が発生してCJMSプロバイダを使用することができません。
- (A3)
-
- <Queue名>,<Topic名>
-
Queue名またはTopic名
- <最大メッセージ数>
-
QueueまたはTopicに格納できる最大メッセージ数
- <メッセージトータルバイト数>
-
QueueまたはTopicの最大トータルメッセージバイト数
- <最大プロデューサー数>
-
送信先の最大プロデューサー数
- <最大コンシューマーフローリミット数>
-
一つの処理単位でコンシューマーに配送可能な最大メッセージ数
- <ホスト名>:<ポート番号>
-
CJMSPブローカーを起動しているホスト名およびポート番号
CJMSPブローカーの起動時にポート番号を省略した場合にはデフォルトの7676が使用されています。その場合,-bオプションの指定は省略できます。
- (A4)
-
- <Queue名>,<Topic名>
-
Queue名またはTopic名
- <ホスト名>:<ポート番号>
-
CJMSPブローカーを起動しているホスト名およびポート番号
CJMSPブローカーの起動時にポート番号を省略した場合にはデフォルトの7676が使用されています。その場合,-bオプションの指定は省略できます。
(A3)で作成した送信先が,指定したプロパティで正しく作られていることを確認してください。(A3)で指定した各引数と,表示内容の対応は次のとおりです。
-
maxNumMsgs → Max Number of Messages
-
maxNumProducers → Max Number of Producers
-
maxTotalMsgBytes → Max Total Message Bytes
-
consumerFlowLimit → Consumer Flow Limit
プロパティの表示例を次に示します。この例は,Queueを作成した場合の実行例です。
Destination Name TestQueue Destination Type Queue Destination State RUNNING Created Administratively true Current Number of Messages Actual 0 Held in Transaction 0 Current Message Bytes Actual 0 Held in Transaction 0 Current Number of Producers 0 Current Number of Active Consumers 0 Max Number of Messages unlimited (-1) Max Total Message Bytes unlimited (-1) Max Number of Producers unlimited (-1) Consumer Flow Limit 100 KDAN34151-I Successfully queried the destination.
- (A5)
-
- <サーバ名>
-
Management Serverで構築したサーバ名
- <CJMSP_HOME>
-
<Application Serverのインストールディレクトリ>/CC/cjmsp
- (A6)
-
- <サーバ名>
-
Management Serverで構築したサーバ名
- <CJMSPリソースアダプタ表示名>
-
CJMSPリソースアダプタの表示名
CJMSプロバイダの場合は,デフォルトで「Cosminexus_JMS_Provider_RA」が設定されています。
- (A7)
-
Connector属性ファイルは,テンプレートファイルをコピーして編集します。テンプレートファイルは,<CJMSP_HOME>/lib/templates/Cosminexus_JMS_Provider_RA_cfg.xmlを使用します。
送信先を使用するため,CJMSPリソースアダプタが提供する管理対象オブジェクトについての定義を行います。
設定例を次に示します。背景色付きの太字で番号を振っているタグを指定してください(番号は実際の定義には含まれません)。
<config-property> <description xml:lang="en"></description> <config-property-name>ConnectionURL</config-property-name> <config-property-type>java.lang.String</config-property-type> (1) <config-property-value>mq://localhost:7676/</config-property-value> </config-property> <config-property> <description xml:lang="en"></description> <config-property-name>clientId</config-property-name> <config-property-type>java.lang.String</config-property-type> (2) <config-property-value>Test</config-property-value> </config-property> <adminobject> (3) <adminobject-name>myQueue</adminobject-name> (4) <adminobject-interface>javax.jms.Queue</adminobject-interface> (5) <adminobject-class>com.cosminexus.jmsprovider.messaging.Queue</adminobject-class> <config-property> <description xml:lang="en"></description> <config-property-name>Name</config-property-name> <config-property-type>java.lang.String</config-property-type> (6) <config-property-value>TestQueue</config-property-value> </config-property> <config-property> <description xml:lang="en"></description> <config-property-name>Description</config-property-name> <config-property-type>java.lang.String</config-property-type> <config-property-value></config-property-value> </config-property> </adminobject> 各番号の指定内容を示します。
-
CJMSPブローカーを起動するホスト名およびポート番号を指定します。
-
クライアント識別子を指定します。永続化サブスクライバーを使用する場合に必要になります。
-
<adminobject-name>に管理対象オブジェクト名を指定します。CJMSPリソースアダプタ内でユニークである必要があります。
-
<adminobject-interface>に管理対象オブジェクトのクラスが実装するインタフェースを指定します。
Queueを使用する場合は,javax.jms.Queueを設定します。
Topicを使用する場合は,javax.jms.Topicを設定します。
-
<adminobject-class>に管理対象オブジェクトのクラスを設定します。
Queueを使用する場合は,com.cosminexus.jmsprovider.messaging.Queueを設定します。
Topicを使用する場合は,com.cosminexus.jmsprovider.messaging.Topicを設定します。
-
(A3)で指定した送信先の名前を設定します。
使用する送信先数分,<adminobject>タグを作成します。
- 注意事項
-
Message-driven Beanを使用する場合は,次の2点を設定してください。
-
次に示す(a)の値が(b)の値以上になるように設定してください。
-
デプロイしているすべてのMessage-driven Beanの(a)の合計数の値が,次に示す(c)の値以下になるように設定してください
アプリケーションプロパティファイルのMessage-driven Beanのインスタンスプール最大数
<pooled-instance>
<minimum>1</minimum>
(a) <maximum>2</maximum>
</pooled-instance>
アプリケーションプロパティファイルのEndpointのインスタンスプール最大数
<activation-config-property>
<activation-config-property-name>endpointPoolMaxSize</activation-config-property-name>
(b) <activation-config-property-value>1</activation-config-property-value>
</activation-config-property>
CJMSPリソースアダプタのConnector属性ファイルのWorkManagerのスレッドプール最大数
<property>
<property-name>MaxTPoolSize</property-name>
<property-type>int</property-type>
(c) <property-value>10</property-value>
<property-default-value>10</property-default-value>
</property>
-
-
- (A8)
-
- <サーバ名>
-
Management Serverで構築したサーバ名
- <CJMSPリソースアダプタ表示名>
-
CJMSPリソースアダプタの表示名
CJMSプロバイダの場合は,デフォルトで「Cosminexus_JMS_Provider_RA」が設定されています。
- <Connector属性ファイルパス>
-
属性ファイルの入力元パス
- (A9)
-
- <サーバ名>
-
Management Serverで構築したサーバ名
- <CJMSPリソースアダプタ表示名>
-
CJMSPリソースアダプタの表示名
CJMSプロバイダの場合は,デフォルトで「Cosminexus_JMS_Provider_RA」が設定されています。
CJMSPリソースアダプタの接続テストでは,CJMSPブローカーとの接続を確立できることを確認しています。
- (A10)
-
- <サーバ名>
-
Management Serverで構築したサーバ名
- <CJMSPリソースアダプタ表示名>
-
CJMSPリソースアダプタの表示名
CJMSプロバイダの場合は,デフォルトで「Cosminexus_JMS_Provider_RA」が設定されています。
- (A11)
-
- <サーバ名>
-
Management Serverで構築したサーバ名
「running <CJMSPリソースアダプタ表示名>」と表示されていることを確認します。
- (A12)
-
アプリケーションのプロパティに,CJMSPリソースアダプタのコネクションファクトリ,管理対象オブジェクトを関連づける設定をします。
設定例を次に示します。背景色付きの太字で番号を振っているタグを編集してください(番号は実際の定義には含まれません)。
<resource-ref> (1) <res-ref-name>jms/qcf</res-ref-name> (2) <res-type>javax.jms.QueueConnectionFactory</res-type> (3) <res-auth>Container</res-auth> (4) <res-sharing-scope>Unshareable</res-sharing-scope> (5) <linked-to>Cosminexus_JMS_Provider_RA!javax.jms.QueueConnectionFactory</linked-to> </resource-ref> <resource-env-ref> (6) <resource-env-ref-name>jms/TestQueue</resource-env-ref-name> (7) <resource-env-ref-type>javax.jms.Queue</resource-env-ref-type> <linked-adminobject> (8) <resourceadapter-name>Cosminexus_JMS_Provider_RA</resourceadapter-name> (9) <adminobject-name>myQueue</adminobject-name> </linked-adminobject> </resource-env-ref> 各番号の指定内容を示します。
-
<res-ref-name>にリソース参照の名称を指定します。
-
<res-type>にリソース参照のタイプを指定します。コネクションファクトリの種類を指定します。
-
<res-auth>にリソースを使用するための認証をアプリケーション上で行うか,コンテナに任せるかを指定します。指定できる文字列を次に示します。
Application
Container
-
<res-sharing-scope>にリソース接続を共有するかどうかを指定します。指定できる文字列を次に示します。
Shareable
Unshareable
-
<linked-to>に対応するCJMSPリソースアダプタの表示名を指定します。次の文字列を指定します。
<CJMSPリソースアダプタ表示名>!<コネクション定義識別子>
-
<resource-env-ref-name>にリソース環境変数参照の名称を指定します。
-
<resource-env-ref-type>に管理対象オブジェクトの型として,送信先のインタフェースの種類を指定します。
-
<resourceadapter-name>にCJMSPリソースアダプタの表示名を指定します。
-
<adminobject-name>に(A7)の(3)で設定した,管理対象オブジェクト名を指定します。
-
- (A13)
-
特にありません。
- (A14)
-
特にありません。