4.2. JBoss EAP での JBoss Data Grid のデプロイ (リモートクライアントサーバーモード)

Red Hat JBoss Data Grid は Red Hat JBoss Enterprise Application Platform 6.x 用のモジュールを提供します。これらのモジュールを使用する場合は、JBoss Data Grid ライブラリーをユーザーのデプロイメントに含める必要がありません。JBoss EAP にすでに含まれている Infinispan モジュールとの競合を防ぐため、JBoss Data Grid モジュールは別のスロット内に置かれ、JBoss Data Grid のバージョン (major.minor) によって識別されます。

注記

JBoss EAP モジュールは JBoss EAP には含まれていません。http://access.redhat.com のカスタマーポータルに移動し、これらのモジュールを Red Hat JBoss Data Grid のダウンロードページからダウンロードします。
JBoss EAP で JBoss Data Grid をデプロイするには、以下の方法の 1 つを用いて JBoss Data Grid モジュールの依存関係をアプリケーションのクラスパス (JBoss EAP デプロイヤー) に追加します。
  • 依存関係を jboss-deployment-structure.xml ファイルに追加します。
  • 依存関係を MANIFEST.MF ファイルに追加します。
jboss-deployment-structure.xml ファイルへ依存関係を追加

以下の設定を jboss-deployment-structure.xml ファイルに追加します。

<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2">
    <deployment>
        <dependencies>
            <module name="org.infinispan.commons" slot="jdg-7.0" services="export"/>
            <module name="org.infinispan.client.hotrod" slot="jdg-7.0" services="export"/>
        </dependencies>
    </deployment>
</jboss-deployment-structure>

注記

jboss-deployment-structure.xml ファイルの詳細は、Red Hat JBoss Enterprise Application Platform のドキュメントを参照してください。
MANIFEST.MF ファイルへ依存関係を追加

次のように依存関係を MANIFEST.MF ファイルに追加します。

例4.2 MANIFEST.MF ファイルの例

Manifest-Version: 1.0
Dependencies: org.infinispan.commons:jdg-7.0 services, org.infinispan.client.hotrod:jdg-7.0 services
最初の行はこの例と同じになります。必要な依存関係に応じて、以下のいずれかをファイルの 2 行目に追加します。
  • 基本の Hot Rod クライアント
    org.infinispan.commons:jdg-7.0 services, org.infinispan.client.hotrod:jdg-7.0 services
  • リモートクエリー機能を持つ Hot Rod クライアント
    org.infinispan.commons:jdg-7.0 services, org.infinispan.client.hotrod:jdg-7.0 services, org.infinispan.query.dsl:jdg-7.0 services, org.jboss.remoting3

4.2.1. Hot Rod クライアントでのカスタムクラスの使用

以下の 2 つの方法のいずれかを使用して Hot Rod クライアントでカスタムクラスを使用できます。
  • オプション 1: 以下の例のように、Hot Rod クライアントの設定ビルダーでデプロイメントのクラスローダーを参照します。

    例4.3 ConfigurationBuilder インスタンスでのカスタムクラスローダーの参照

    import org.infinispan.client.hotrod.configuration.ConfigurationBuilder;
    [...]
    ConfigurationBuilder config = new ConfigurationBuilder();
    config.marshaller(new GenericJBossMarshaller(Thread.currentThread().getContextClassLoader()));
  • オプション 2: カスタムクラスを JBoss EAP 内の独自のモジュールとしてインストールし、新規に作成されたモジュールの依存関係は JBoss Data Grid モジュール (${EAP_HOME}/modules/system/layers/base/org/infinispan/commons/jdg-6.x/module.xml) に追加する必要があります。