About

ドキュメント

プロジェクト文書

Built by Maven

概要

アウトバウンド通信を使用するには,次のコンポーネントを使用します.

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) が提供するオブジェクトです. このオブジェクトはManagedConnectionFactoryDeployercreateConnectionFactory()メソッドにより 取得したものをコンポーネントとしてdiconファイルに登録します.

diconファイルへの記述は以下のようになります.

    <!-- JDBCの場合 -->
    <component name="connectionFactory" class="javax.sql.DataSource">
        mcfDeployer.createConnectionFactory()
    </component>
    <!-- JMSの場合 -->
    <component name="connectionFactory" class="javax.jms.ConnectionFactory">
        mcfDeployer.createConnectionFactory()
    </component>

mcfDeployerManagedConnectionFactoryDeployerのコンポーネント名です.

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>