概要
アウトバウンド通信を使用するには,次のコンポーネントを使用します.
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
のコンポーネント名です.