目次
概要
リソースアダプタを使用するには,次のコンポーネントを使用します.
ResourceAdapterDeployer
(必須)-
ResourceAdapterDeployer
はMOMとの接続に使用するリソースアダプタを S2コンテナ内で利用可能にするコンポーネントです. BootstrapContext
(任意)-
BootstrapContext
はリソースアダプタが使用するスレッドプール等を提供するコンポーネントです.
ResourceAdapterDeployer
ResourceAdapterDeployer
は,リソースアダプタを使用可能にするためのコンポーネントです.
ResourceAdapterDeployer
の実装クラスを以下に示します.
org.seasar.jca.deploy.impl.RarResourceAdapterDeployer
org.seasar.jca.deploy.impl.FsResourceAdapterDeployer
org.seasar.jca.deploy.impl.WmqResourceAdapterDeployer
RarResourceAdapterDeployer
Rarファイルにパッケージングされているリソースアダプタを使用可能にするためのコンポーネントです.
コンストラクタ引数
引数 | 説明 |
---|---|
nThreads |
スレッドプールのスレッド数を指定します. 詳細は「スレッドプールの設定」を参照してください. |
プロパティ
プロパティ | 必須 | 説明 | デフォルト |
---|---|---|---|
path |
Yes | リソースアダプタが提供するRarファイルへのパスを指定します. | N/A |
tempDir |
No |
リソースアダプタのJarファイルを解凍するディレクトリを指定します
省略時はデフォルトの一時ディレクトリが使用されます.
java.io.File クラスによって提供されます.
|
File クラスが提供する一時ディレクトリ
|
メソッド
メソッド | 説明 |
---|---|
setProperty(String key, String value) |
リソースアダプタ固有のプロパティを指定します. |
FsResourceAdapterDeployer
ファイルシステム上に展開されているリソースアダプタを使用可能にするためのコンポーネントです.
コンストラクタ引数
引数 | 説明 |
---|---|
nThreads |
スレッドプールのスレッド数を指定します. 詳細は「スレッドプールの設定」を参照してください. |
プロパティ
プロパティ | 必須 | 説明 | デフォルト |
---|---|---|---|
path |
Yes | リソースアダプタが提供するRarが展開されているディレクトリへのパスを指定します. | N/A |
メソッド
メソッド | 説明 |
---|---|
setProperty(String key, String value) |
リソースアダプタ固有のプロパティを指定します. |
org.seasar.jca.deploy.impl.WmqResourceAdapterDeployer
Generic Resource Adapter for JMSと IBM WebSphere MQ (formerly known MQSeries) を組み合わせて使用するためのコンポーネントです.
コンストラクタ引数
引数 | 説明 |
---|---|
nThreads |
スレッドプールのスレッド数を指定します. 詳細は「スレッドプールの設定」を参照してください. |
プロパティ
プロパティ | 必須 | 説明 | デフォルト |
---|---|---|---|
path |
Yes | Generic Resource Adapter for JMSが提供するRarファイルへのパスを指定します. | N/A |
tempDir |
No |
リソースアダプタのJarファイルを解凍するディレクトリを指定します
省略時はデフォルトの一時ディレクトリが使用されます.
java.io.File クラスによって提供されます.
|
File クラスが提供する一時ディレクトリ
|
メソッド
メソッド | 説明 |
---|---|
setProperty(String key, String value) |
リソースアダプタ固有のプロパティを指定します. |
リソースアダプタ固有のプロパティ
リソースアダプタ固有のプロパティは,使用するリソースアダプタのドキュメントを参照してください. 主なプロダクトのドキュメントを以下に示します.
BootstrapContext
通常は,ResourceAdapterDeployer
のコンストラクタ引数で
スレッドプールのスレッド数を指定します. この場合,
Executors#newFixedThreadPool(int nThreads)
で作成されたスレッドプールが使用されます.
異なるスレッドプール実装を使いたい場合は,次のようにBootstrapContextImpl
を定義し,コンストラクタ引数で
Executor
を実装したコンポーネントを指定します.
<component class="org.seasar.jca.lifecycle.BootstrapContextImpl"> <arg> <component class="org.seasar.jca.work.WorkManagerImpl"> <arg> @java.util.concurrent.Executors@newCachedThreadPool() </arg> </component> </arg> </component>
スレッドプールのスレッドがどのように使われるかはリソースアダプタの実装に依存します. リソースアダプタに合わせて適切に設定してください. 多くの場合,アウトバウンド通信ではスレッドプールはあまり使われていないようです. インバウンド通信では同時に処理できるメッセージの数に影響します. S2JMS-Containerメッセージを順序を維持して処理する場合はスレッド数を1に設定してください.
JDBC Connectorの場合
以下にJDBCドライバを使用してRDBMSと接続する汎用のリソースアダプタ, JDBC Connectorを 使用する例を示します.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN" "http://www.seasar.org/dtd/components24.dtd"> <include path="j2ee.dicon"/> <component class="org.seasar.jca.deploy.impl.RarResourceAdapterDeployer"> <!-- スレッドプールのスレッド数 --> <arg>10</arg> <!-- JDBC Connectorへのパス --> <property name="path"> "ra/spi_15_dm.rar" </property> </component> </components>
Apache ActiveMQの場合
以下にオープンソースのMOMプロダクト,Apache ActiveMQを使用する例を示します.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN" "http://www.seasar.org/dtd/components24.dtd"> <components> <include path="j2ee.dicon"/> <component class="org.seasar.jca.deploy.impl.RarResourceAdapterDeployer"> <!-- スレッドプールのスレッド数 --> <arg>10</arg> <!-- ActiveMQ ResourceAdapterへのパス --> <property name="path"> "ra/activemq-rar-4.1.1.rar" </property> <!-- ActiveMQ Broker へのURL --> <initMethod name="setProperty"> <arg>"ServerUrl"</arg> <arg>"tcp://localhost:61616?trace=true"</arg> </initMethod> </component> </components>
IBM WebSphere MQの場合
以下にGeneric Resource Adapter for JMSを使用して IBM WebSphere MQ (formerly known MQSeries) と接続する例を示します.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN" "http://www.seasar.org/dtd/components24.dtd"> <components> <include path="j2ee.dicon"/> <component class="org.seasar.jca.deploy.impl.WmqResourceAdapterDeployer"> <!-- スレッドプールのスレッド数 --> <arg>10</arg> <!-- Generic JMS ResourceAdapterへのパス --> <property name="path"> "ra/genericra-1.5.rar" </property> </component> </components>