5.7. Red Hat JBoss Data Grid および Red Hat JBoss EAP

5.7.1. Red Hat JBoss Enterprise Application Platform への camel-jbossdatagrid のインストール

Red Hat JBoss Enterprise Application Platform 6 (JBoss EAP 6) は、オープンな標準に基づいて構築され、Java Enterprise Edition 6 の仕様に準拠するミドルウェアプラットフォームです。
Camel は Red Hat JBoss Fuse を介してのみサポートされます。以下の製品すべての有効なエンタイトルメントが必要になります。
  • Red Hat JBoss EAP
  • Red Hat JBoss Fuse
  • Red Hat JBoss Data Grid

注記

Red Hat JBoss Fuse Service Works のエンタイトルメントには、Red Hat JBoss EAP および Red Hat JBoss Fuse のエンタイトルメントが含まれます。
インストール手順では、特定のバージョン番号の代わりに以下の変数が使用されます。
  • jdg.version - Red Hat JBoss Data Grid の最新バージョン
    fuse.version - Red Hat JBoss Fuse の最新バージョン
  • infinispan.version - 最新バージョンの Red Hat JBoss Data Grid に含まれる Infinispan のバージョン。
  • camel.version - 最新バージョンの Red Hat JBoss Fuse に含まれる Apache Camel のバージョン。
camel-jbossdatagrid のテスト済みの構成に関する詳細は https://access.redhat.com/articles/115883 を参照してください。

手順5.3 JBoss Data Grid のインストール

  • JBoss Data Grid のインストールに関する情報は、パートII「Red Hat JBoss Data Grid のダウンロードおよびインストール」を参照してください。JBoss EAP で Camel コンポーネントを実行するには、以下の JBoss Data Grid コンポーネントのみが必要になります。
    • JBoss Data Grid Maven リポジトリー。
    • The JBoss Data Grid Server パッケージ (Hot Rod を使用するため)。
camel-jbossdatagrid ライブラリーは、jboss-datagrid-${jdg.version}-camel-library という個別のディストリビューションから入手することもできます。

手順5.4 JBoss EAP のインストール

  1. Red Hat JBoss EAP をインストールして使用する前に、ご使用のシステムが 『Red Hat JBoss EAP インストールガイド』 に記載されている最低限の要件を満たしていることを確認してください。
  2. アーカイブの展開

    Red Hat JBoss EAP は zip ファイルとしてパッケージ化されているため、アーカイブをシステムで展開するとインストールされます。適切なアーカイブツールを使用して、Red Hat JBoss EAP を完全なアクセス権限を持つディレクトリーで展開します。

    警告

    パス名に空白文字が含まれるフォルダーにアーカイブファイルを展開しないでください。たとえば、C:\Documents and Settings\Greco Roman\Desktop\JBoss では展開しないでください。
    さらに、パス名に特殊文字 #、%、^、または " が含まれるフォルダーにアーカイブファイルを展開しないでください。
  3. アーカイブが展開されると、JBoss EAP が正常にインストールされます。インストールオプションの詳細は 『Red Hat JBoss EAP インストールガイド』を参照してください。
  4. JBoss Data Grid がライブラリーモードで使用されている場合は 「JBoss EAP での JBoss Data Grid のデプロイ (ライブラリーモード)」 を参照し、必要な依存関係がインストールされていることを確認してください。
  5. JBoss Data Grid がリモートクライアントサーバーモードで使用されている場合は 「JBoss EAP での JBoss Data Grid のデプロイ (リモートクライアントサーバーモード)」 を参照し、必要な依存関係がインストールされていることを確認してください。

5.7.2. EAP を用いた Camel のデプロイ

5.7.2.1. 開発およびランタイム依存関係の追加

アプリケーションをコンパイルするには、Camel および JBoss Data Grid の依存ライブラリーを pom.xml に追加する必要があります (Maven を使用する場合)。

手順5.5 Fuse からの Camel の追加

  1. Fuse リポジトリーが pom.xml に追加されていることを確認します。
    <repository>
      <id>fusesource</id>
      <name>FuseSource Release Repository</name>
      <url>https://repo.fusesource.com/nexus/content/groups/public/</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <releases>
        <enabled>true</enabled>
      </releases>
    </repository>
  2. pom.xml で Camel コンポーネントを依存関係として追加します。
    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-core</artifactId>
      <version>${camel.version}</version>
    </dependency>

手順5.6 camel-jbossdatagrid のデプロイメントへの追加

  1. 3章Maven リポジトリーのインストールおよび使用 の手順に従って、maven リポジトリーを追加します。
  2. pom.xml で camel-jbossdatagrid を依存関係として追加します。
    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-jbossdatagrid</artifactId>
      <version>${jdg.version}</version>
    </dependency>
  3. 使用している機能に応じて、残りの JBoss Data Grid の依存関係を追加します。
    <!-- If Remote Camel Producer is used add the following dependency -->
    <dependency>
    	<groupId>org.infinispan</groupId>
    	<artifactId>infinispan-remote</artifactId>
    	<version>${infinispan.version}</version>
    </dependency>
    	
    <!-- If the Local Camel Producer or Local Camel Consumer are in use add -->
    <!-- the following dependency -->
    <dependency>
    	<groupId>org.infinispan</groupId>
    	<artifactId>infinispan-embedded</artifactId>
    	<version>${infinispan.version}</version>
    </dependency>

5.7.2.2. 任意設定: ランタイム依存関係を JBoss EAP モジュールとして追加

場合によっては JBoss EAP の他の製品ライブラリーをモジュールとして維持したいことがあります。これらのモジュールの作成には追加の手順が必要になります。

注記

依存関係のモジュールを使用する場合、pom.xml にてモジュールとして提供される依存関係の scope を provided に設定する必要があります。例を以下に示します。
<dependency>
	<groupId>org.apache.camel</groupId>
	<artifactId>camel-jbossdatagrid</artifactId>
	<scope>provided</scope>
	<version>${jdg.version}</version>
</dependency>
jboss-datagrid-${jdg.version}-camel-library.zip をカスタマーポータルからダウンロードします。
Red Hat JBoss Fuse の extras/ ディレクトリーにある apache-camel-${camel.version}.zip を展開します。
user@example modules] unzip /path/to/jboss-fuse-${fuse.version}/extras/apache-camel-${camel.version}

手順5.7 JBoss Fuse からの Camel コンポーネントの追加

  1. $EAP_HOME/modules 以下にディレクトリーを作成します。
    user@example jboss-eap-6.4] cd modules
    user@example modules] mkdir -p org/apache/camel/core
  2. jar を格納する main サブディレクトリーを作成します。
    user@example modules] mkdir org/apache/camel/core/main
  3. camel-core jar を apache-camel-${camel.version}.zip から新たに作成された main ディレクトリーへコピーします。
    user@example modules] cp /path/to/jboss/fuse/extras/apache-camel-${camel.version}/lib/camel-core-${camel.version}.jar ./org/apache/camel/core/main/
  4. 以下のテキストを org/apache/camel/core/main/module.xml に追加し、module.xml 記述子を作成します。
    <?xml version="1.0" encoding="UTF-8"?>
    <module xmlns="urn:jboss:module:1.1" name="org.apache.camel.core">
      <resources>
        <resource-root path="camel-core-${camel.version}.jar"/>
      </resources>
    </module>
  5. 上記の手順を繰り返し、使用中の各依存関係に対してモジュールを作成します。 『Red Hat JBoss 管理および設定ガイド』に記載されているとおり、モジュールによっては他のモジュールとの依存関係がある場合があります。

手順5.8 JBoss Data Grid からの Camel コンポーネントの追加

  1. JDG Camel コンポーネントの main サブディレクトリーを作成します。
    user@example jboss-eap-6.4] mkdir -p modules/org/apache/camel/main
  2. jboss-datagrid-${jdg.version}-camel-library.zip を展開します。
  3. camel-jbossdatagrid-${jdg.version}.jar を新たに作成されたディレクトリーにコピーします。
    user@example jboss-eap-6.4] cp jboss-datagrid-${jdg.version}-camel-library/camel-jbossdatagrid-${jdg.version}.jar modules/org/apache/camel/main/
  4. 以下のテキストを org/apache/camel/main/module.xml に追加し、module.xml 記述子を作成します。
    <?xml version="1.0" encoding="UTF-8"?>
    <module xmlns="urn:jboss:module:1.1" name="org.apache.camel">
      <resources>
        <resource-root path="camel-jbossdatagrid-${jdg.version}.jar"/>
      </resources>
      <dependencies>
        <module name="org.apache.camel.core" />
      </dependencies>
    </module>
war の WEB-INFjboss-deployment-structure.xml を作成し、新たに作成されたモジュールに依存関係を追加します。
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
    <deployment>
        <dependencies>
            <module name="org.apache.camel" meta-inf="import"/>
            
            <!-- Add the following lines if Library mode is used -->
            <module name="org.infinispan" slot="jdg-7.0" />
            <module name="org.jgroups" slot="jdg-7.0" />
            
            <!-- Add the following lines if Remote Client-Server mode is used -->
            <module name="org.infinispan.client.hotrod" slot="jdg-7.0" />
        </dependencies>
    </deployment>
</jboss-deployment-structure>