アウトバウンド情報
概要
アウトバウンド通信を使用するには,次のコンポーネントを使用します.
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 |
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
のコンポーネント名です.
JDBC Connectorの場合
以下にJDBCドライバを使用してRDBMSと接続する汎用のリソースアダプタ, JDBC Connectorで アウトバウンド通信を使用する例を示します.
<component name="mcfDeployer" class="org.seasar.jca.deploy.impl.ManagedConnectionFactoryDeployer"> <property name="managedConnectionFactoryClass"> "com.sun.gjc.spi.DMManagedConnectionFactory" </property> <initMethod name="setProperty"> <arg>"ClassName"</arg> <arg>"org.hsqldb.jdbcDriver"</arg> </initMethod> <initMethod name="setProperty"> <arg>"ConnectionURL"</arg> <arg>"jdbc:hsqldb:hsql://localhost:9001"</arg> </initMethod> <initMethod name="setProperty"> <arg>"User"</arg> <arg>"sa"</arg> </initMethod> <initMethod name="setProperty"> <arg>"Password"</arg> <arg>""</arg> </initMethod> </component> <component name="dataSource" class="javax.sql.DataSource"> mcfDeployer.createConnectionFactory() </component>
Apache ActiveMQの場合
以下にオープンソースのMOMプロダクト, Apache ActiveMQで アウトバウンド通信を使用する例を示します.
<!-- マネージドコネクションファクトリ --> <component name="mcfDeployer" class="org.seasar.jca.deploy.impl.ManagedConnectionFactoryDeployer"> <property name="managedConnectionFactoryClass"> "org.apache.activemq.ra.ActiveMQManagedConnectionFactory" </property> </component> <!-- コネクションファクトリ --> <component name="connectionFactory" class="javax.jms.ConnectionFactory"> mcfDeployer.createConnectionFactory() </component>
IBM WebSphere MQの場合
以下にSun Generic Resource Adapter for JMSと IBM WebSphere MQ (formerly known MQSeries) を組み合わせて アウトバウンド通信を使用する例を示します.
<!-- マネージドコネクションファクトリ --> <component name="mcfDeployer" class="org.seasar.jca.deploy.impl.ManagedConnectionFactoryDeployer"> <property name="managedConnectionFactoryClass"> "com.sun.genericra.outbound.ManagedJMSConnectionFactory" </property> <!-- キューマネージャ名 --> <initMethod name="setProperty"> <arg>"connectionFactoryProperties"</arg> <arg>"QueueManager=QMGR1"</arg> </initMethod> </component> <!-- コネクションファクトリ --> <component name="connectionFactory" class="javax.jms.ConnectionFactory"> mcfDeployer.createConnectionFactory() </component>