4.6. Karaf (OSGi) での Red Hat JBoss Data Grid の実行

Apache Karaf は強力で軽量な OSGi ベースのランタイムコンテナーで、コンポーネントとアプリケーションがデプロイされます。OSGi は、スタンドアロン JVM 環境に存在しない動的コンポーネントモデルを実装します。Karaf などの OSGi コンテナーには、アプリケーションのライフサイクルを管理するためのツールが含まれています。
バージョン番号を含む、各モジュール間の依存関係はすべて明示的に指定する必要があります。同じ名前のクラスが複数存在する場合は、OSGi の厳格なルールにしたがって、バンドルによって使用されるクラスが指定されます。

4.6.1. Karaf で Red Hat JBoss Data Grid のデプロイメントを実行 (リモートクライアントサーバー)

Red Hat JBoss Data Grid の Hot Rod クライアントは、Karaf などの OSGi ベースのコンテナで実行できます。
JBoss Data Grid の Maven リポジトリーを使用して Karaf を設定します。また、JBoss Data Grid は org/infinispan/infinispan-remote/${VERSION} にある features ファイルを必要とします。このファイルは OSGi の Hot Rod クライアントの依存関係をすべてリストし、さらに Karaf (バージョン 2.3.3 または 3.0) への機能のインストールを単純化します。

4.6.2. Karaf への Hot Rod クライアント機能のインストール

Red Hat JBoss Data Grid の Hot Rod 機能は、次のように Karaf にインストールされます。
前提条件

Red Hat JBoss Data Grid の Maven リポジトリーを設定する必要があります。

手順4.3 Karaf への Hot Rod クライアント機能のインストール

  1. Karaf 2.3.3

    Karaf 2.3.3 では次のコマンドを使用します。
    1. karaf@root> features:addUrl mvn:org.infinispan/infinispan-remote/${VERSION}/xml/features
    2. karaf@root> features:install infinispan-remote
    3. 機能が正しくインストールされたことを確認します。
      karaf@root> features:list
       //output
  2. Karaf 3.0.0

    次のコマンドを使用します。
    1. karaf@root> feature:repo-add mvn:org.infinispan/infinispan-remote/${VERSION}/xml/features
    2. karaf@root> feature:install infinispan-remote
    3. 機能が正しくインストールされたことを確認します。
      karaf@root> feature:list
    この代わりに、-i コマンドパラメーターを以下のように使用して、Hot Rod クライアント機能をインストールすることもできます。
    karaf@root()> feature:repo-add -i mvn:org.infinispan/infinispan-remote/${VERSION}/xml/features

4.6.3. Karaf での Red Hat JBoss Data Grid のインストール (ライブラリーモード)

Red Hat JBoss Data Grid の JAR ファイルには必要な OSGi マニフェストヘッダーが含まれ、これらのヘッダーは OSGi ランタイム環境内で OSGi バンドルとして使用されます。また、必要なサードパーティーの依存関係をインストールする必要があります。これらの依存関係は、個別にインストールできますが、必要な依存関係をすべて定義する features ファイルを用いて同時にインストールすることもできます。
features ファイルを使用してバンドルをインストールするには、以下を実行します。
  • Karaf 内の feature リポジトリーを登録します。
  • リポジトリーに含まれる機能をインストールします。

手順4.4 features ファイルを使用したバンドルのインストール

  1. Karaf コンソールの起動

    以下のコマンドを使用して Karaf コンソールを起動します。
    $ cd $APACHE_KARAF_HOME/bin
    $ ./karaf
  2. feature リポジトリーの登録

    次のように feature リポジトリーを登録します。
    • Karaf 2.3.3 の場合
      karaf@root()> features:addUrl mvn:org.infinispan/infinispan-embedded/${VERSION}/xml/features
      karaf@root> features:install infinispan-embedded
    • Karaf 3.0.0 の場合
      karaf@root()> feature:repo-add mvn:org.infinispan/infinispan-embedded/${VERSION}/xml/features
      karaf@root> feature:install infinispan-embedded
結果

JBoss Data Grid が Karaf を使用してライブラリーモードで実行されます。

feature リポジトリーの URL は、以下の形式を使用して Maven アーティファクト座標から構成されます。
mvn:<groupId>/<artifactId>/<version>/xml/features

重要

JPA キャッシュストアは、JBoss Data Grid 6.4 の Apache Karaf でサポートされません。

重要

ライブラリーモードでのクエリー (Infinispan Query Guide で取り上げています) は JBoss Data Grid 6.4 の Apache Karaf ではサポートされません。