概要
アウトバウンド通信を使用するには,次のコンポーネントを使用します.
ManagedConnectionFactoryDeployer(必須)-
リソースアダプタが提供する
ManagedConnectionFactoryを S2コンテナ内で利用可能にするコンポーネントです. コネクションファクトリ(必須)- EIS固有のコネクションを提供するコンポーネントです.
ManagedConnectionFactoryDeployer
ManagedConnectionFactoryDeployerは,
リソースアダプタが提供するManagedConnectionFactory
を
S2コンテナ内で利用可能にするコンポーネントです.
ManagedConnectionFactoryDeployerの実装クラスを以下に示します.
org.seasar.jca.deploy.impl.ManagedConnectionFactoryDeployer
ManagedConnectionFactoryDeployerのプロパティおよびメソッドを以下に示します.
プロパティ
| プロパティ | 必須 | 説明 | デフォルト |
|---|---|---|---|
managedConnectionFactoryClass |
Yes |
リソースアダプタが提供する,
javax.resource.spi.ManagedConnectionFactoryの実装クラスをFQNで指定します.
|
N/A |
managedConnectionFactoryIndex |
No | ra.xmlファイルに記述された何番目の
connector/resource-adapter/outbound-resourceadapter/connection-definition
をベースにするかを示すインデックスを指定します.
|
0 |
managedTx |
No |
コンテナ管理のトランザクションを使用する場合はtrueを指定します.
|
true |
allowLocalTx |
No |
コンテナ管理のトランザクションを使用する場合に,
リソースローカルなトランザクションを許可する場合はtrueを設定します.
false (デフォルト) の場合,
JTAトランザクションが開始されていない状態でコネクションが取得されると例外がスローされます.
|
false |
maxPoolSize |
No | コネクションプールの最大値を指定します. | 10 |
minPoolSize |
No | コネクションプールの最小値を指定します. | 5 |
timeout |
No | アイドル状態になったコネクションをクローズするまでのタイムアウト時間を秒単位で指定します. | 600(秒) |
メソッド
| メソッド | 説明 |
|---|---|
setProperty(String key, String value) |
リソースアダプタ固有のプロパティを指定します. |
setProperty(String key, String type, String value) |
型を明示してリソースアダプタ固有のプロパティを指定します. |
createConnectionFactory() |
ConnectionFactory
を作成します.
|
diconファイルへの記述は以下のようになります.
<component name="mcfDeployer"
class="org.seasar.jca.deploy.impl.ManagedConnectionFactoryDeployer">
<property name="managedConnectionFactoryClass">
"リソースアダプタの提供するManegedConnectionFactory実装クラスのFQN"
</property>
<initMethod name="setProperty">
<arg>"リソースアダプタ固有のプロパティ名"</arg>
<arg>"リソースアダプタ固有のプロパティ値"</arg>
</initMethod>
...
</component>
コネクションファクトリ
コネクションファクトリは,EIS固有のコネクションを提供するコンポーネントです.
EIS固有のコネクションは,JDBCではjavax.sql.DataSource,
JMSではjavax.jms.ConnectionFactory,
JCA CCIではjavax.resource.cci.ConnectionFactoryになります.
コネクションファクトリはリソースアダプタ (ManagedConnectionFactory) が提供するオブジェクトです.
このオブジェクトはManagedConnectionFactoryDeployerのcreateConnectionFactory()メソッドにより
取得したものをコンポーネントとしてdiconファイルに登録します.
diconファイルへの記述は以下のようになります.
<!-- JDBCの場合 -->
<component name="connectionFactory" class="javax.sql.DataSource">
mcfDeployer.createConnectionFactory()
</component>
<!-- JMSの場合 -->
<component name="connectionFactory" class="javax.jms.ConnectionFactory">
mcfDeployer.createConnectionFactory()
</component>
mcfDeployerはManagedConnectionFactoryDeployerのコンポーネント名です.
