About

ドキュメント

プロジェクト文書

Built by Maven

概要

リソースアダプタを使用するための設定ファイルには,次のコンポーネントを定義します.

ResourceAdapterDeployer (必須)
ResourceAdapterDeployerはEISとの接続に使用するリソースアダプタを S2コンテナ内で利用可能にするコンポーネントです. 詳細は「リソースアダプタの設定 」を参照してください.
BootstrapContext (任意)
BootstrapContextはリソースアダプタが使用するスレッドプール等を提供するコンポーネントです. 詳細は「スレッドプールの設定 」を参照してください.

リソースアダプタの設定

ResourceAdapterDeployer

ResourceAdapterDeployerは,リソースアダプタを使用可能にするためのコンポーネントです.

ResourceAdapterDeployerの実装クラスを以下に示します.

  • org.seasar.jca.deploy.impl.RarResourceAdapterDeployer
  • org.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>

スレッドプールのスレッドがどのように使われるかはリソースアダプタの実装に依存します. リソースアダプタに合わせて適切に設定してください. 多くの場合,アウトバウンド通信ではスレッドプールはあまり使われていないようです. インバウンド通信では同時に処理できるメッセージの数に影響します.