概要
リソースアダプタを使用するための設定ファイルには,次のコンポーネントを定義します.
ResourceAdapterDeployer(必須)ResourceAdapterDeployerはEISとの接続に使用するリソースアダプタを S2コンテナ内で利用可能にするコンポーネントです. 詳細は「リソースアダプタの設定 」を参照してください.BootstrapContext(任意)BootstrapContextはリソースアダプタが使用するスレッドプール等を提供するコンポーネントです. 詳細は「スレッドプールの設定 」を参照してください.
リソースアダプタの設定
ResourceAdapterDeployer
ResourceAdapterDeployerは,リソースアダプタを使用可能にするためのコンポーネントです.
ResourceAdapterDeployerの実装クラスを以下に示します.
org.seasar.jca.deploy.impl.RarResourceAdapterDeployerorg.seasar.jca.deploy.impl.FsResourceAdapterDeployer
RarResourceAdapterDeployer
Rarファイルにパッケージングされているリソースアダプタを使用可能にするためのコンポーネントです.
Rarファイル内にパッケージされているJarファイルと,Rarファイルと同じディレクトリにあるJarファイルがクラスパスに追加されます.
コンストラクタ引数
| 引数 | 説明 |
|---|---|
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) |
リソースアダプタ固有のプロパティを指定します. |
スレッドプールの設定
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>
スレッドプールのスレッドがどのように使われるかはリソースアダプタの実装に依存します. リソースアダプタに合わせて適切に設定してください. 多くの場合,アウトバウンド通信ではスレッドプールはあまり使われていないようです. インバウンド通信では同時に処理できるメッセージの数に影響します.
