スタートガイド
Red Hat JBoss Data Grid 7.0 向け
概要
パート I. JBoss Data Grid の紹介 リンクのコピーリンクがクリップボードにコピーされました!
第1章 Red Hat JBoss Data Grid リンクのコピーリンクがクリップボードにコピーされました!
- スキーマレスなキーバリューストア – JBoss Data Grid は、固定のデータモデルを用いずに異なるオブジェクトを格納する柔軟な NoSQL データベースです。
- グリッドベースのデータストレージ – JBoss Data Grid は、複数のノードにまたがったデータのレプリケートが簡単に行えるよう設計されています。
- エラスティックスケーリング – 処理を中断せずに簡単にノードを追加および削除できます。
- 複数のアクセスプロトコル – REST、Memcached、Hot Rod、またはシンプルなマップのような API を使用して簡単にデータグリッドへアクセスできます。
1.1. サポートされる構成 リンクのコピーリンクがクリップボードにコピーされました!
1.2. コンポーネントおよびバージョン リンクのコピーリンクがクリップボードにコピーされました!
1.3. Red Hat JBoss Data Grid の使用モード リンクのコピーリンクがクリップボードにコピーされました!
- リモートクライアントサーバーモード
- ライブラリーモード
1.3.1. リモートクライアントサーバーモード リンクのコピーリンクがクリップボードにコピーされました!
- データグリッドのスケーリングがより簡単です。
- クライアントアプリケーションの影響を与えずにデータグリッドをより簡単にアップグレードできます。
$JBOSS_HOME/bin/standalone.sh
$JBOSS_HOME/bin/standalone.sh
$JBOSS_HOME\bin\standalone.bat
$JBOSS_HOME\bin\standalone.bat
$JBOSS_HOME/bin/domain.sh
$JBOSS_HOME/bin/domain.sh
$JBOSS_HOME\bin\domain.bat
$JBOSS_HOME\bin\domain.bat
1.3.2. ライブラリーモード リンクのコピーリンクがクリップボードにコピーされました!
- トランザクション
- リスナーおよび通知
1.4. Red Hat JBoss Data Grid の利点 リンクのコピーリンクがクリップボードにコピーされました!
JBoss Data Grid の利点
- パフォーマンス
- リモートデータストア (データベースなど) からオブジェクトにアクセスするよりも、ローカルメモリーからオブジェクトにアクセスした方が高速になります。JBoss Data Grid は速度が遅いデータソースから送信されるインメモリーオブジェクトを効率的に保存する方法を提供するため、リモートデータストアよりもパフォーマンスが高速になります。また、JBoss Data Grid はクラスター化されたキャッシュとクラスター化されていないキャッシュの両方に対して最適化を実現するため、パフォーマンスをさらに向上します。
- 一貫性
- キャッシュにデータを格納すると、固有のリスクをともないます。アクセス時にデータが古くなっている (陳腐) 可能性があります。このリスクに対応するため、JBoss Data Grid はキャッシュインバリデーションおよびエクスパレーションを使用して、キャッシュから陳腐データエントリーを削除します。さらに、JBoss Data Grid はトラザクションリカバリーやバージョン API とともに、JTA、分散 (XA)、および 2 フェーズコミットトランザクションをサポートし、保存されたバージョンを基にデータを削除または置換します。
- 巨大なヒープと高可用性
- JBoss Data Grid では、パフォーマンス向上のためにアプリケーションがデータのルックアップ処理のほとんどを大型のサーバーデータベースへ委譲する必要がありません。JBoss Data Grid は、レプリケーションや分散などの技術を導入し、現在のエンタープライズアプリケーションのほとんどに存在するボトルネックを完全に取り除きます。
例1.1 巨大なヒープと高可用性の例
16 個のブレードサーバーを持つグリッドの例として、各ノードがレプリケートされたキャッシュ専用の 2 GB のストレージ領域を持っているとします。この場合、グリッドの全データが 2 GB のデータのコピーとなります。逆に、分散グリッド (データ項目ごとに 1 つのコピーが必要であることを仮定し、ヒープ全体の容量を 2 で割る) では、メモリーがサポートする仮想ヒープに 16 GB のデータが含まれます。グリッドのどこからでも効果的にこのデータへアクセスできるようになります。サーバーに障害が発生した場合、グリッドによって損失データの新しいコピーが即座に作成され、グリッドの運用サーバーに置かれます。 - スケーラビリティー
- 分散データグリッドがレプリケートされたクラスター化キャッシュよりも優れているのは、容量とパフォーマンスの両方でデータグリッドがスケーラブルである点です。グリッド全体のスループットと容量を増やすには、ノードを JBoss Data Grid に追加します。JBoss Data Grid は、ノードの追加または削除による影響を、グリッドのすべてのノードではなくノードのサブセットに限定する、一貫したハッシュ化アルゴリズムを使用します。JBoss Data Grid ではデータが均一に分散されるため、グリッドサイズの唯一の上限はネットワーク上でのグループ通信になります。ネットワークのグループ通信は最小限で、新規ノードの発見のみに制限されています。すべてのデータアクセスパターンは、ノードによるピアツーピア接続を介した直接通信を許可するため、スケーラビリティーのさらなる向上を容易にします。JBoss Data Grid のクラスターは、リアルタイムでスケールアップまたはスケールダウンすることができ、インフラストラクチャーを再起動する必要はありません。スケーリングポリシーへの変更をリアルタイムで適用できるため、非常にフレキシブルな環境を実現することができます。
- データ分散
- JBoss Data Grid は一貫したハッシュアルゴリズムを使用して、クラスターでのキーの場所を判断します。一貫したハッシュ化に関する利点には次のようなものがあります。データ分散は、永続性とフォールトトラレンスを提供するため、余分のない十分なコピーがクラスター内に確実に存在するようにします。余分なコピーは環境のスケーラビリティーを低下させます。
- コスト効果
- 速度
- 追加のメタデータやネットワークトラフィックの必要がない、決定論的なキーの場所
- 永続性
- JBoss Data Grid は、
CacheStoreインターフェースと複数の高パフォーマンス実装 (JDBC キャッシュストアやファイルシステムベースのキャッシュストアなど) を公開します。キャッシュストアを使用すると、起動時にキャッシュを事前設定し、関連データが破損しないように保持できます。また、キャッシュストアは必要時にデータをディスクへオーバーフローし、メモリー不足にならないようにします。 - 言語のバインディング
- JBoss Data Grid は、多くの一般的なプログラミング言語向けの既存クライアントを持つ Memcached プロトコルと、Hot Rod と呼ばれる最適化された JBoss Data Grid 固有のプロトコルの両方をサポートします。そのため、JBoss Data Grid は Java に限定されず、すべての主要な Web サイトやアプリケーションに使用できます。さらに、RESTful API を介して HTTP プロトコルを使用すると、リモートキャッシュにアクセスできます。
- 管理
- 数百個またはそれ以上のサーバーが存在するグリッド環境では、管理の実行は重要な機能になります。エンタープライズネットワーク管理ソフトウェアである JBoss Operations Network は、複数の JBoss Data Grid インスタンスを管理するのに最適なツールです。JBoss Operations Network の機能を使用すると、キャッシュマネージャーやキャッシュインスタンスを簡単かつ効率的に監視できます。
- リモートデータグリッド
- JBoss Data Grid は、アプリケーションサーバーアーキテクチャー全体をスケールアップしてデータグリッドをスケールアップする代わりに、アプリケーションサーバーアーキテクチャーに依存せずにデータグリッドインフラストラクチャーを独自にアップグレードできるリモートクライアントサーバーモードを提供します。さらに、データグリッドサーバーをアプリケーションサーバー以外のリソースへ割り当てることができます。また、独自にデータグリッドをアップグレードでき、データグリッド内でアプリケーションを再デプロイできます。
1.5. Red Hat JBoss Data Grid のバージョン情報 リンクのコピーリンクがクリップボードにコピーされました!
| JBoss Data Grid 製品 | Infinispan バージョン |
|---|---|
| JBoss Data Grid 6.0.0 | Infinispan 5.1.5 |
| JBoss Data Grid 6.0.1 | Infinispan 5.1.7 |
| JBoss Data Grid 6.1.0 | Infinispan 5.2.4 |
| JBoss Data Grid 6.2.0 | Infinispan 6.0.1 |
| JBoss Data Grid 6.3.0 | Infinispan 6.1.0 |
| JBoss Data Grid 6.3.1 | Infinispan 6.1.1 |
| JBoss Data Grid 6.4.0 | Infinispan 6.2.0 |
| JBoss Data Grid 6.4.1 | Infinispan 6.2.1 |
| JBoss Data Grid 6.5.0 | Infinispan 6.3.0 |
| JBoss Data Grid 6.5.1 | Infinispan 6.3.1 |
| JBoss Data Grid 6.6.0 | Infinispan 6.4.0 |
| JBoss Data Grid 7.0.0 | Infinispan 8.3.0 |
注記
1.6. Red Hat JBoss Data Grid のキャッシュアーキテクチャー リンクのコピーリンクがクリップボードにコピーされました!
図1.1 Red Hat JBoss Data Grid のキャッシュアーキテクチャー
- 図の濃い灰色部分にあるのは、ユーザーが直接対話できない要素です。リモートクライアントサーバーモードでは、永続ストア、キャッシュ、キャッシュマネージャー、1 次キャッシュ、およびサーバーモジュールが含まれます。ライブラリーモードでは、ユーザーは永続ストアおよび 1 次キャッシュと直接対話できません。
- 図の薄い灰色部分にあるのは、ユーザーが直接対話できる要素です。リモートクライアントサーバーモードでは、アプリケーションとキャッシュクライアントが含まれます。ライブラリーモードでは、ユーザーはキャッシュ、キャッシュマネージャー、およびアプリケーションと対話できます。
JBoss Data Grid のキャッシュアーキテクチャーには以下の要素が含まれています。
- 永続ストアはオプションのコンポーネントです。データグリッドのシャットダウン後に、修復用にキャッシュされたエントリーを永久に格納します。
- 1 次キャッシュ (L1 キャッシュ) は、リモートキャッシュエントリーが最初にアクセスされた後にそれらのエントリーを格納し、同じエントリーがその後使用されるたびに不必要なリモートフェッチ操作が行われないようにします。
- キャッシュマネージャーはキャッシュインスタンスのライフサイクルを制御し、必要時にキャッシュインスタンスを格納および読み出しできます。
- キャッシュは、キーと値のエントリーを格納および読み出しするための主なコンポーネントです。
ライブラリーモードでは、アプリケーション (ユーザーコード) はキャッシュおよびキャッシュマネージャーコンポーネントと直接対話できます。この場合、アプリケーションは同じ Java 仮想マシン (JVM) にあり、Cache および Cache Manager Java API メソッドを直接呼び出せます。
1.7. Red Hat JBoss Data Grid の API リンクのコピーリンクがクリップボードにコピーされました!
- キャッシュ
- バッチ化
- グループ化
- 永続性 (旧名 CacheStore)
- ConfigurationBuilder
- 外部化
- 通知 (通知とリスナーを処理するため、リスナー API とも呼ばれます)
- 非同期 API (リモートクライアントサーバーモードで Hot Rod クライアントを併用する場合のみ使用可能)
- REST インターフェース
- Memcached インターフェース
- Hot Rod インターフェース
- RemoteCache API
パート II. Red Hat JBoss Data Grid のダウンロードおよびインストール リンクのコピーリンクがクリップボードにコピーされました!
第2章 Red Hat JBoss Data Grid のダウンロード リンクのコピーリンクがクリップボードにコピーされました!
2.1. Red Hat JBoss Data Grid インストールの前提条件 リンクのコピーリンクがクリップボードにコピーされました!
2.2. Java 仮想マシン リンクのコピーリンクがクリップボードにコピーされました!
2.3. Red Hat Enterprise Linux に OpenJDK をインストール リンクのコピーリンクがクリップボードにコピーされました!
手順2.1 Red Hat Enterprise Linux に OpenJDK をインストール
ベースチャンネルのサブスクライブ
RHN ベースチャンネルより OpenJDK を取得します。Red Hat Enterprise Linux のインストールはデフォルトでこのチャンネルにサブスクライブされています。パッケージのインストール
yum ユーティリティを使用して OpenJDK をインストールします。sudo yum install java-1.6.0-openjdk-devel
$ sudo yum install java-1.6.0-openjdk-develCopy to Clipboard Copied! Toggle word wrap Toggle overflow OpenJDK がシステムデフォルトであることを確認
次のように、正しい JDK がシステムデフォルトとして設定されていることを確認します。- root 特権を持つユーザーとしてログインし、alternatives コマンドを実行します。
/usr/sbin/alternatives --config java
$ /usr/sbin/alternatives --config javaCopy to Clipboard Copied! Toggle word wrap Toggle overflow - OpenJDK のバージョンに応じて
/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/javaまたは/usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/javaを選択します。 - 次のコマンドを使用して
javacを設定します。/usr/sbin/alternatives --config javac
$ /usr/sbin/alternatives --config javacCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 使用した OpenJDK のバージョンに応じて、
/usr/lib/jvm/java-1.6.0-openjdk/bin/javaまたは/usr/lib/jvm/java-1.7.0-openjdk/bin/javaを選択します。
2.4. JBoss Data Grid のダウンロードおよびインストール リンクのコピーリンクがクリップボードにコピーされました!
- Red Hat カスタマーポータルから JBoss Data Grid をダウンロードします。
- ダウンロードしたファイルを検証します。
- JBoss Data Grid をインストールします。
2.4.1. Red Hat JBoss Data Grid のダウンロード リンクのコピーリンクがクリップボードにコピーされました!
手順2.2 JBoss Data Grid のダウンロード
- カスタマーポータル (https://access.redhat.com) にログインします。
- ページ最上部にある ボタンをクリックします。
- 製品のダウンロード ページで をクリックします。
- Version: ドロップダウンメニューから適切な JBoss Data Grid バージョンを選択します。
- 表示されるリストから適切なファイルをダウンロードします。
2.4.2. Red Hat カスタマーポータルについて リンクのコピーリンクがクリップボードにコピーされました!
- Red Hat エンタイトルメントやサポート契約の管理および維持。
- 正式サポートされたソフトウェアのダウンロード。
- 製品ドキュメントや Red Hat ナレッジベースの利用。
- グローバルサポートサービスへの連絡。
- Red Hat 製品のバグの登録。
2.4.3. チェックサムの検証 リンクのコピーリンクがクリップボードにコピーされました!
2.4.4. ダウンロードされたファイルの検証 リンクのコピーリンクがクリップボードにコピーされました!
手順2.3 ダウンロードされたファイルの検証
- Red Hat カスタマーポータルからダウンロードしたファイルにエラーがないことをポータルサイト上で検証するには、パッケージの Software Details ページに移動します。このページには、
MD5およびSHA256のチェックサム値が記載されています。チェックサム値を使用してファイルの整合性をチェックします。 - ターミナルウインドウを開き、ダウンロードしたファイルを引数として指定して
md5sumまたはsha256sumコマンドを実行します。コマンドの出力として、ファイルのチェックサム値が表示されます。 - コマンドによって返されたチェックサム値と、そのファイルの Software Details ページに記載されている値を比較します。
注記
Microsoft Windows にはチェックサムツールが同梱されていません。Windows オペレーティングシステムのユーザーはサードパーティーの製品をダウンロードする必要があります。
2 つのチェックサム値が同じである場合、ファイルに変更や破損がないため、安心して使用することができます。
2.4.5. Red Hat JBoss Data Grid のインストール リンクのコピーリンクがクリップボードにコピーされました!
適切なバージョン、プラットフォームおよびファイルタイプを見つけ、カスタマーポータルから Red Hat JBoss Data Grid をダウンロードする必要があります。
手順2.4 JBoss Data Grid のインストール
- ダウンロードした JBoss Data Grid パッケージをマシン上の希望の場所にコピーします。
- 次のコマンドを実行して、ダウンロードした JBoss Data Grid パッケージを展開します。
unzip JDG_PACKAGE
$ unzip JDG_PACKAGECopy to Clipboard Copied! Toggle word wrap Toggle overflow JDG_PACKAGE は、Red Hat カスタマーポータルからダウンロードした JBoss Data Grid 使用モードパッケージの名前に置き換えます。 - 展開したディレクトリーは $JDG_HOME とします。
2.4.6. Red Hat のドキュメントサイト リンクのコピーリンクがクリップボードにコピーされました!
第3章 Maven リポジトリーのインストールおよび使用 リンクのコピーリンクがクリップボードにコピーされました!
3.1. Maven リンクのコピーリンクがクリップボードにコピーされました!
重要
3.2. 必要な Maven リポジトリー リンクのコピーリンクがクリップボードにコピーされました!
- JBoss Data Grid Maven リポジトリー
techpreview-all-repository(https://maven.repository.redhat.com/techpreview/all/)
3.3. Maven リポジトリーのインストール リンクのコピーリンクがクリップボードにコピーされました!
- ローカルファイルシステム上 (「ローカルファイルシステムリポジトリーのインストール」)。
- Apache Web Server 上 (「Apache httpd リポジトリーのインストール」).
- Maven リポジトリーマネージャーを使用 (「Maven リポジトリーマネージャーのインストール」)。
3.3.1. ローカルファイルシステムリポジトリーのインストール リンクのコピーリンクがクリップボードにコピーされました!
手順3.1 ローカルファイルシステムリポジトリーのインストール (JBoss Data Grid)
カスタマーポータルへのログイン
ブラウザーでカスタマーポータルページ (https://access.redhat.com/home) に移動し、ログインします。JBoss Data Grid リポジトリーファイルのダウンロード
Red Hat カスタマーポータルからjboss-datagrid-{VERSION}-maven-repository.zipをダウンロードします。- ローカルファイルシステムのディレクトリー (例:
$JDG_HOME/projects/maven-repositories/) にファイルを展開します。
maven-repository/ という名前のサブディレクトリーに Maven レポジトリーが含まれる新しい jboss-datagrid-${jdg-version}-maven-repository ディレクトリーが作成されます。
3.3.2. Apache httpd リポジトリーのインストール リンクのコピーリンクがクリップボードにコピーされました!
注記
- Web ブラウザーを開き、https://access.redhat.com/jbossnetwork/restricted/listSoftware.html?product=data.grid にアクセスします。
- リストから
Red Hat JBoss Data Grid 7.0.0 Maven Repositoryを見つけます。 - ボタンをクリックし、リポジトリーが含まれる .zip ファイルをダウンロードします。
- Apache サーバー上で Web にアクセス可能なディレクトリーにファイルを展開します。
- Apache を設定し、作成されたディレクトリーの読み取りアクセスとディレクトリの閲覧を許可します。
3.3.3. Maven リポジトリーマネージャーのインストール リンクのコピーリンクがクリップボードにコピーされました!
- Apache Archiva: http://archiva.apache.org/
- JFrog Artifactory: http://www.jfrog.com/products.php
- Sonatype Nexus: http://nexus.sonatype.org/ (詳細は 「Nuxus を用いた JBoss Enterprise Application Platform リポジトリーのインストール」 を参照してください)
3.4. Maven レポジトリーの設定 リンクのコピーリンクがクリップボードにコピーされました!
settings.xml ファイルを編集します。このファイルは以下の 2 つの場所のいずれかで設定できます。
- ユーザーレベル: Maven ユーザーの設定は
${user.home}/.m2/ディレクトリーにあります。- Linux または Mac 環境の場合、通常これは
~/.m2/になります。 - Windows 環境の場合、通常これは
\Documents and Settings\.m2\または\Users\.m2\になります。
- グローバルレベル: マシン上のすべてのユーザーの設定です。これらのユーザーがすべて同じ Maven インストールを使用していることが想定されます。この設定は通常
${maven.home}/conf/settings.xmlで行われます。
3.4.1. JBoss Data Grid Maven リポジトリーのオフライン環境での設定 リンクのコピーリンクがクリップボードにコピーされました!
- JBoss Data Grid Maven リポジトリーが、これが参照される内部ネットワークにダウンロードされている。
- Sonatype Nexus または Apache Archiva などの Maven の依存関係を含む内部リポジトリーがネットワークで利用できる。
手順3.2 オフラインでの使用に向けた JBoss Data Grid Maven リポジトリーの設定
- 「ローカルファイルシステムリポジトリーのインストール」 の手順に従って、ダウンロードされた JBoss Data Grid Maven リポジトリーをローカルにインストールします。
- 「Maven レポジトリーの設定」にあるように
settings.xmlがローカルに抽出されたリポジトリーを指すように更新します。サンプル設定は以下のようになります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - プロジェクトがローカルにビルドできることを確認します。
3.4.2. 次のステップ リンクのコピーリンクがクリップボードにコピーされました!
パート III. JBoss Data Grid でサポートされるコンテナー リンクのコピーリンクがクリップボードにコピーされました!
第4章 JBoss Data Grid をサポートされるコンテナーと使用 リンクのコピーリンクがクリップボードにコピーされました!
- アプリケーションによって起動された Java SE。
- スタンドアロン JBoss Data Grid サーバーとして。
- アプリケーションのライブラリーとしてバンドルされ、アプリケーションサーバーへデプロイされ、アプリケーションによって起動 (たとえば、JBoss Data Grid は Tomcat または Weblogic と使用できます)。
- OSGi ランタイム環境内 (この場合、Apache Karaf)。
4.1. JBoss EAP での JBoss Data Grid のデプロイ (ライブラリーモード) リンクのコピーリンクがクリップボードにコピーされました!
注記
- 依存関係を
jboss-deployment-structure.xmlファイルに追加します。 - 依存関係を
MANIFEST.MFファイルに追加します。 - Maven より
MANIFEST.MFファイルを生成します。
以下の設定を jboss-deployment-structure.xml ファイルに追加します。
注記
jboss-deployment-structure.xml ファイルの詳細は、Red Hat JBoss Enterprise Application Platform のドキュメントを参照してください。
次のように依存関係を MANIFEST.MF ファイルに追加します。
例4.1 MANIFEST.MF ファイルの例
Manifest-Version: 1.0 Dependencies: org.infinispan:jdg-7.0 services
Manifest-Version: 1.0
Dependencies: org.infinispan:jdg-7.0 services
- JBoss Data Grid コア
Dependencies: org.infinispan:jdg-7.0 services
Dependencies: org.infinispan:jdg-7.0 servicesCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 埋め込みクエリー
Dependencies: org.infinispan:jdg-7.0 services, org.infinispan.query:jdg-7.0 services, org.infinispan.query.dsl:jdg-7.0 services
Dependencies: org.infinispan:jdg-7.0 services, org.infinispan.query:jdg-7.0 services, org.infinispan.query.dsl:jdg-7.0 servicesCopy to Clipboard Copied! Toggle word wrap Toggle overflow - JDBC キャッシュストア
Dependencies: org.infinispan:jdg-7.0 services, org.infinispan.persistence.jdbc:jdg-7.0 services
Dependencies: org.infinispan:jdg-7.0 services, org.infinispan.persistence.jdbc:jdg-7.0 servicesCopy to Clipboard Copied! Toggle word wrap Toggle overflow - JPA キャッシュストア
Dependencies: org.infinispan:jdg-7.0 services, org.infinispan.persistence.jpa:jdg-7.0 services
Dependencies: org.infinispan:jdg-7.0 services, org.infinispan.persistence.jpa:jdg-7.0 servicesCopy to Clipboard Copied! Toggle word wrap Toggle overflow - LevelDB キャッシュストア
Dependencies: org.infinispan:jdg-7.0 services, org.infinispan.persistence.leveldb:jdg-7.0 services
Dependencies: org.infinispan:jdg-7.0 services, org.infinispan.persistence.leveldb:jdg-7.0 servicesCopy to Clipboard Copied! Toggle word wrap Toggle overflow - CDI
Dependencies: org.infinispan:jdg-7.0 services, org.infinispan.cdi:jdg-7.0 meta-inf
Dependencies: org.infinispan:jdg-7.0 services, org.infinispan.cdi:jdg-7.0 meta-infCopy to Clipboard Copied! Toggle word wrap Toggle overflow
MANIFEST.MF ファイルはビルド中 (JAR または WAR プロセス中) に生成されます。MANIFEST.MF ファイルに依存関係を追加する代わりに、以下を pom.xml ファイルに追加し、Maven で直接依存関係を設定します。
4.2. JBoss EAP での JBoss Data Grid のデプロイ (リモートクライアントサーバーモード) リンクのコピーリンクがクリップボードにコピーされました!
注記
- 依存関係を
jboss-deployment-structure.xmlファイルに追加します。 - 依存関係を
MANIFEST.MFファイルに追加します。
以下の設定を jboss-deployment-structure.xml ファイルに追加します。
注記
jboss-deployment-structure.xml ファイルの詳細は、Red Hat JBoss Enterprise Application Platform のドキュメントを参照してください。
次のように依存関係を 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
Manifest-Version: 1.0
Dependencies: 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.commons:jdg-7.0 services, org.infinispan.client.hotrod:jdg-7.0 servicesCopy to Clipboard Copied! Toggle word wrap Toggle overflow - リモートクエリー機能を持つ 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
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.remoting3Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.2.1. 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()));
import org.infinispan.client.hotrod.configuration.ConfigurationBuilder; [...] ConfigurationBuilder config = new ConfigurationBuilder(); config.marshaller(new GenericJBossMarshaller(Thread.currentThread().getContextClassLoader()));Copy to Clipboard Copied! Toggle word wrap Toggle overflow - オプション 2: カスタムクラスを JBoss EAP 内の独自のモジュールとしてインストールし、新規に作成されたモジュールの依存関係は JBoss Data Grid モジュール (
${EAP_HOME}/modules/system/layers/base/org/infinispan/commons/jdg-6.x/module.xml) に追加する必要があります。
4.3. JBoss Enterprise Web Server での JBoss Data Grid のデプロイ リンクのコピーリンクがクリップボードにコピーされました!
4.4. WebLogic サーバーでの Web アプリケーションのデプロイ (ライブラリーモード) リンクのコピーリンクがクリップボードにコピーされました!
Web アプリケーションをデプロイするための前提条件は次のとおりです。
- WebLogic Server 12c
- JBoss Data Grid のライブラリー (埋め込み) モード
手順4.1 WebLogic サーバーでの Web アプリケーションのデプロイ
Web アプリケーションの作成
Web アプリケーションを作成し、ライブラリーをWEB-INFフォルダーに追加します。weblogic.xml デプロイメント記述子の作成
以下の要素が含まれるweblogic.xmlデプロイメント記述子を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記
prefer-web-inf-classesクラスは、WEB-INF/libフォルダーにあるライブラリーおよびクラスが WebLogic サーバーにバンドルされたデフォルトのライブラリーよりも優先されることを示します。たとえば、WebLogic サーバーのcommons-pool.jarファイルのバージョンは 1.4 で、クラスローダーによって自動的にロードされますが、Hot Rod クライアントはこのライブラリーの新しいバージョンを使用します。Web アプリケーションを Web アーカイブファイルへパック
Web アプリケーションの Web アプリケーションアーカイブ (WAR) ファイルを作成し、JBoss Data Grid ライブラリーと WebLogic デプロイメント記述子ファイルがWEB-INFフォルダーにあることを確認します。WebLogic サーバーでのアプリケーションのデプロイ
Infinispan CDI モジュールを使用して Web アプリケーションをデプロイするには、WebLogic サーバーが稼働している場合は停止し、パッチ (パッチファイルp17424706_121200_Generic.zip) を適用した後、WebLogic サーバーを再起動します。Infinispan CDI モジュールが使用されない場合は、通常どおり Web アプリケーションをデプロイします。WebLogic サーバーへのパッチ適用に関する詳細は、Oracle の Web サイトにある『Oracle patch database』を参照してください。
4.5. WebLogic サーバーでの Web アプリケーションのデプロイ (リモートクライアントサーバーモード) リンクのコピーリンクがクリップボードにコピーされました!
手順4.2 WebLogic サーバーでの Web アプリケーションのデプロイ
- WebLogic サーバーをインストールするには http://docs.oracle.com/cd/E24329_01/doc.1211/e24492/toc.htm を参照してください。
- リモートクライアントサーバーモードの JBoss Data Grid を設定し、キャッシュ、キャッシュコンテナー、およびエンドポイント設定を定義します。設定後、JBoss Data Grid を起動し、Hot Rod エンドポイントが設定されたポートでリッスンしていることを確認します。リモートクライアントサーバーモードの JBoss Data Grid の設定に関する詳細は、7章Red Hat JBoss Data Grid のリモートクライアントサーバーモードでの実行を参照してください。
- Web アプリケーションを作成し、Maven が使用される場合は
infinispan-remoteライブラリーを依存関係として追加します。 - 以下の要素が含まれる
weblogic.xmlデプロイメント記述子を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記
prefer-web-inf-classesクラスは、WEB-INF/libフォルダーにあるライブラリーおよびクラスが WebLogic サーバーにバンドルされたデフォルトのライブラリーよりも優先されることを示します。たとえば、WebLogic サーバーのcommons-pool.jarファイルのバージョンは 1.4 で、クラスローダーによって自動的にロードされますが、Hot Rod クライアントはこのライブラリーの新しいバージョンを使用します。 - デプロイメント記述子ファイルを
WEB-INFフォルダーに追加します。 infinispan-remote依存関係がpom.xmlファイルに追加されたことを確認した後、Maven プラグインを使用して Web アーカイブを作成します。この代わりに、手動で Web アーカイブを作成し、手動でライブラリーに追加することもできます。- WebLogic サーバーでアプリケーションをデプロイし、Web アプリケーション内に埋め込まれた Hot Rod クライアントがリモート JBoss Data Grid サーバーに接続することを確認します。
4.6. Karaf (OSGi) での Red Hat JBoss Data Grid の実行 リンクのコピーリンクがクリップボードにコピーされました!
4.6.1. Karaf で Red Hat 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 の Maven リポジトリーを設定する必要があります。
手順4.3 Karaf への Hot Rod クライアント機能のインストール
Karaf 2.3.3
Karaf 2.3.3 では次のコマンドを使用します。karaf@root> features:addUrl mvn:org.infinispan/infinispan-remote/${VERSION}/xml/featureskaraf@root> features:addUrl mvn:org.infinispan/infinispan-remote/${VERSION}/xml/featuresCopy to Clipboard Copied! Toggle word wrap Toggle overflow karaf@root> features:install infinispan-remote
karaf@root> features:install infinispan-remoteCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 機能が正しくインストールされたことを確認します。
karaf@root> features:list //output
karaf@root> features:list //outputCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Karaf 3.0.0
次のコマンドを使用します。karaf@root> feature:repo-add mvn:org.infinispan/infinispan-remote/${VERSION}/xml/featureskaraf@root> feature:repo-add mvn:org.infinispan/infinispan-remote/${VERSION}/xml/featuresCopy to Clipboard Copied! Toggle word wrap Toggle overflow karaf@root> feature:install infinispan-remote
karaf@root> feature:install infinispan-remoteCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 機能が正しくインストールされたことを確認します。
karaf@root> feature:list
karaf@root> feature:listCopy to Clipboard Copied! Toggle word wrap Toggle overflow
この代わりに、-iコマンドパラメーターを以下のように使用して、Hot Rod クライアント機能をインストールすることもできます。karaf@root()> feature:repo-add -i mvn:org.infinispan/infinispan-remote/${VERSION}/xml/featureskaraf@root()> feature:repo-add -i mvn:org.infinispan/infinispan-remote/${VERSION}/xml/featuresCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.3. Karaf での Red Hat JBoss Data Grid のインストール (ライブラリーモード) リンクのコピーリンクがクリップボードにコピーされました!
features ファイルを用いて同時にインストールすることもできます。
features ファイルを使用してバンドルをインストールするには、以下を実行します。
- Karaf 内の feature リポジトリーを登録します。
- リポジトリーに含まれる機能をインストールします。
手順4.4 features ファイルを使用したバンドルのインストール
Karaf コンソールの起動
以下のコマンドを使用して Karaf コンソールを起動します。cd $APACHE_KARAF_HOME/bin ./karaf
$ cd $APACHE_KARAF_HOME/bin $ ./karafCopy to Clipboard Copied! Toggle word wrap Toggle overflow feature リポジトリーの登録
次のように feature リポジトリーを登録します。- Karaf 2.3.3 の場合
karaf@root()> features:addUrl mvn:org.infinispan/infinispan-embedded/${VERSION}/xml/featureskaraf@root()> features:addUrl mvn:org.infinispan/infinispan-embedded/${VERSION}/xml/featuresCopy to Clipboard Copied! Toggle word wrap Toggle overflow karaf@root> features:install infinispan-embedded
karaf@root> features:install infinispan-embeddedCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Karaf 3.0.0 の場合
karaf@root()> feature:repo-add mvn:org.infinispan/infinispan-embedded/${VERSION}/xml/featureskaraf@root()> feature:repo-add mvn:org.infinispan/infinispan-embedded/${VERSION}/xml/featuresCopy to Clipboard Copied! Toggle word wrap Toggle overflow karaf@root> feature:install infinispan-embedded
karaf@root> feature:install infinispan-embeddedCopy to Clipboard Copied! Toggle word wrap Toggle overflow
JBoss Data Grid が Karaf を使用してライブラリーモードで実行されます。
mvn:<groupId>/<artifactId>/<version>/xml/features
mvn:<groupId>/<artifactId>/<version>/xml/features
重要
重要
第5章 Apache Camel を用いた Red Hat JBoss Data Grid の実行 リンクのコピーリンクがクリップボードにコピーされました!
5.1. camel-jbossdatagrid コンポーネント リンクのコピーリンクがクリップボードにコピーされました!
camel-jbossdatagrid コンポーネントには、以下の機能が含まれています。
- ローカル Camel コンシューマー
キャッシュ変更通知を受け取り、処理のために送信します。同期または非同期で実行でき、レプリケートされたキャッシュまたは分散キャッシュでもサポートされます。
- ローカル Camel プロデューサー
プロデューサーはメッセージを作成し、エンドポイントへ送信します。
camel-jbossdatagridプロデューサーはGET、PUT、REMOVE、およびCLEAR操作を使用します。ローカルプロデューサーはレプリケートされたキャッシュまたは分散キャッシュでもサポートされます。 - リモート Camel プロデューサー
リモートクライアントサーバーモードでは、Camel プロデューサーは Hot Rod を使用してメッセージを送信できます。
- リモート Camel コンシューマー
クライアントサーバーモードでは、キャッシュ変更通知を受け取り、それを処理のために送信します。イベントは非同期で処理されます。
camel-jbossdatagrid 依存関係を pom.xml ファイルに追加する必要があります。
注記
camel-jbossdatagrid コンポーネントは、JBoss Data Grid に同梱されていますが、JBoss Fuse 6.1 や JBoss Fuse Service Works 6.0 ディストリビューションには含まれていません。
FileComponent は URI では file と呼ばれ、FileEndpoints を作成します。
camel-jbossdatagrid には以下の URI 形式が使用されます。
infinispan://hostname?[options]
infinispan://hostname?[options]
プロデューサーはメッセージを作成し、レジストリーで設定されたローカルまたはリモートの JBoss Data Grid キャッシュへメッセージを送信できます。cacheContainer が存在する場合、cacheContainer インスタンスが DefaultCacheManager または RemoteCacheManager であるかによってキャッシュがローカルまたはリモートになります。存在しない場合は、指定のホスト名やポートを使用してリモートキャッシュへの接続を試みます。
| Name | デフォルト値 | タイプ | コンテキスト | 説明 |
|---|---|---|---|---|
| cacheContainer | null | CacheContainer | 共有 | レジストリーの org.infinispan.manager.CacheContainer への参照。 |
| cacheName | null | 文字列 | 共有 | 使用するキャッシュ名。指定されていないと、デフォルトのキャッシュが使用されます。 |
| command | PUT | 文字列 | プロデューサー | 実行する操作。現在 PUT、GET、REMOVE、および CLEAR のみが値としてサポートされています。 |
| eventTypes | null | Set<String> | コンシューマー |
登録するイベントタイプのコンマ区切りのリスト。デフォルトでは、すべてのイベントタイプをリッスンします。可能な値は
org.infinispan.notifications.cachelistener.event.Event.Type で定義されます。
例:
...?eventTypes=CACHE_ENTRY_EXPIRED,CACHE_ENTRY_EVICTED,...
|
| sync | true | ブール値 | コンシューマー | デフォルトでは、コンシューマーはキャッシュ操作を処理する同じスレッドによって同期的に通知を受け取ります。リモート HotRod リスナーは非同期の通知のみをサポートします。 |
| clustered | false | ブール値 | コンシューマー | デフォルトでは、コンシューマーはローカルイベントのみを受信します。このオプションを使用すると、コンシューマーはクラスターの他のノードからのイベントもリッスンします。クラスター化されたリスナーに利用できるイベントは CACHE_ENTRY_CREATED、CACHE_ENTRY_REMOVED、および CACHE_ENTRY_MODIFIED のみです。 |
使用できる操作とヘッダー情報のリストは次のとおりです。
| 操作名 | コンテキスト | 説明 | 必要なヘッダー | 任意のヘッダー | 結果のヘッダー |
|---|---|---|---|---|---|
CamelInfinispanOperationPut | 埋め込み/リモート | キーと値のペアをキャッシュに追加し、オプションでエクスパレーションを指定します。 | CamelInfinispanKey、CamelInfinispanValue | CamelInfinispanLifespanTime、CamelInfinispanLifespanTimeUnit、CamelInfinispanMaxIdleTime、CamelInfinispanMaxIdleTimeUnit、CamelInfinispanIgnoreReturnValues | CamelInfinispanOperationResult |
CamelInfinispanOperationPutAsync | 非同期的にキーと値のペアをキャッシュに追加し、オプションでエクスパレーションを指定します。 | ||||
CamelInfinispanOperationPutIfAbsent | 存在しない場合にキーと値のペアをキャッシュに追加し、オプションでエクスパレーションを指定します。 | ||||
CamelInfinispanOperationPutIfAbsentAsync | 存在しない場合にキーと値のペアを非同期的にキャッシュへ追加し、オプションでエクスパレーションを指定します。 |
| 操作名 | コンテキスト | 説明 | 必要なヘッダー | 任意のヘッダー | 結果のヘッダー |
|---|---|---|---|---|---|
CamelInfinispanOperationPutAll | 埋め込み/リモート | 複数のエントリーをキャッシュに追加します (オプションでエクスパレーションを指定します)。 | CamelInfinispanMap | CamelInfinispanLifespanTime、CamelInfinispanLifespanTimeUnit、 CamelInfinispanMaxIdleTime、CamelInfinispanMaxIdleTimeUnit | |
CamelInfinispanOperationPutAllAsync | 非同期的に複数のエントリーをキャッシュに追加します (オプションでエクスパレーションを指定します)。 |
| 操作名 | コンテキスト | 説明 | 必要なヘッダー | 任意のヘッダー | 結果のヘッダー |
|---|---|---|---|---|---|
CamelInfinispanOperationGet | 埋め込み/リモート | 特定のキーに関連する値をキャッシュから取得します。 | CamelInfinispanKey |
| 操作名 | コンテキスト | 説明 | 必要なヘッダー | 任意のヘッダー | 結果のヘッダー |
|---|---|---|---|---|---|
CamelInfinispanOperationContainsKey | 埋め込み/リモート | キャッシュに特定のキーが含まれるかどうかを判断します。 | CamelInfinispanKey | CamelInfinispanOperationResult |
| 操作名 | コンテキスト | 説明 | 必要なヘッダー | 任意のヘッダー | 結果のヘッダー |
|---|---|---|---|---|---|
CamelInfinispanOperationContainsValue | 埋め込み/リモート | キャッシュに特定の値が含まれるかどうかを判断します。 | CamelInfinispanKey |
| 操作名 | コンテキスト | 説明 | 必要なヘッダー | 任意のヘッダー | 結果のヘッダー |
|---|---|---|---|---|---|
CamelInfinispanOperationRemove | 埋め込み/リモート | キャッシュからエントリーを削除します (オプションで、指定の値と一致した場合のみ削除します)。 | CamelInfinispanKey | CamelInfinispanValue | CamelInfinispanOperationResult |
CamelInfinispanOperationRemoveAsync | 非同期的にキャッシュからエントリーを削除します (オプションで、指定の値と一致した場合のみ削除します)。 |
| 操作名 | コンテキスト | 説明 | 必要なヘッダー | 任意のヘッダー | 結果のヘッダー |
|---|---|---|---|---|---|
CamelInfinispanOperationReplace | 埋め込み/リモート | キャッシュのエントリーを条件的に置き換えます (オプションでエクスパレーションを指定します)。 | CamelInfinispanKey、CamelInfinispanValue、CamelInfinispanOldValue | CamelInfinispanLifespanTime、CamelInfinispanLifespanTimeUnit、CamelInfinispanMaxIdleTime、CamelInfinispanMaxIdleTimeUnit、CamelInfinispanIgnoreReturnValues | CamelInfinispanOperationResult |
CamelInfinispanOperationReplaceAsync | キャッシュのエントリーを非同期的かつ条件的に置き換えます (オプションでエクスパレーションを指定します)。 |
| 操作名 | コンテキスト | 説明 | 必要なヘッダー | 任意のヘッダー | 結果のヘッダー |
|---|---|---|---|---|---|
CamelInfinispanOperationClear | 埋め込み/リモート | キャッシュを消去します。 |
| 操作名 | コンテキスト | 説明 | 必要なヘッダー | 任意のヘッダー | 結果のヘッダー |
|---|---|---|---|---|---|
CamelInfinispanOperationSize | 埋め込み/リモート | キャッシュにあるエントリーの数を返します。 | CamelInfinispanOperationResult |
| 操作名 | コンテキスト | 説明 | 必要なヘッダー | 任意のヘッダー | 結果のヘッダー |
|---|---|---|---|---|---|
CamelInfinispanOperationQuery | リモート | キャッシュでクエリーを実行します。 | CamelInfinispanQueryBuilder | CamelInfinispanOperationResult |
注記
CamelInfinispanIgnoreReturnValues を取る操作はすべて null を結果として受け取ります。
| Name | デフォルト値 | タイプ | コンテキスト | 説明 |
|---|---|---|---|---|
| CamelInfinispanCacheName | null | 文字列 | 共有 | 操作またはイベントに参加しているキャッシュ。 |
| CamelInfinispanMap | null | マップ | プロデューサー | CamelInfinispanOperationPutAll 操作の場合に使用されるマップ。 |
| CamelInfinispanKey | null | オブジェクト | 共有 | 操作を実行するキーまたはイベントを生成するキー。 |
| CamelInfinispanValue | null | オブジェクト | プロデューサー | 操作に使用する値。 |
| CamelInfinispanOperationResult | null | オブジェクト | プロデューサー | 操作の結果。 |
| CamelInfinispanEventType | null | 文字列 | コンシューマー |
ローカルキャッシュリスナー (非クラスター) の場合は次の値の 1 つ:
CACHE_ENTRY_ACTIVATED、CACHE_ENTRY_PASSIVATED、CACHE_ENTRY_VISITED、CACHE_ENTRY_LOADED、CACHE_ENTRY_EVICTED、CACHE_ENTRY_CREATED、 CACHE_ENTRY_REMOVED、CACHE_ENTRY_MODIFIED
リモート HotRod リスナーの場合は次の値の 1 つ:
CLIENT_CACHE_ENTRY_CREATED、CLIENT_CACHE_ENTRY_MODIFIED、CLIENT_CACHE_ENTRY_REMOVED、CLIENT_CACHE_FAILOVER
|
| CamelInfinispanIsPre | null | ブール値 | コンシューマー | ローカルの非クラスター化リスナーが使用されると、Infinispan は各操作に対して操作の前と後に 1 つずつ 2 つのイベントを発火します。クラスター化リスナーおよびリモート HotRod リスナーの場合は、Infinispan は操作の後に 1 つのイベントのみを発火します。 |
| CamelInfinispanQueryBuilder | null | InfinispanQueryBuilder | プロデューサー | InfinispanQueryBuilder のインスタンスで、キャッシュで実行されるクエリーを build() 内で定義します。 |
| CamelInfinispanLifespanTime | null | long | プロデューサー | キャッシュ内の値のライフスパン時間。負の値は無限として解釈されます。 |
| CamelInfinispanTimeUnit | null | 文字列 | プロデューサー | エントリーのライフスパン時間の時間単位。 |
| CamelInfinispanMaxIdleTime | null | long | プロデューサー | エントリーがアイドル状態でいられる最大期間。この期間以降は期限切れと見なされます。 |
| CamelInfinispanMaxIdleTimeUnit | null | 文字列 | プロデューサー | エントリーの最大アイドル時間の時間単位。 |
5.2. JBoss Data Grid での Camel を用いたルーティング リンクのコピーリンクがクリップボードにコピーされました!
from("direct:start")
.setHeader(InfinispanConstants.OPERATION, constant(InfinispanConstants.GET))
.setHeader(InfinispanConstants.KEY, constant("123"))
.to("infinispan://localhost?cacheContainer=#cacheContainer");
from("direct:start")
.setHeader(InfinispanConstants.OPERATION, constant(InfinispanConstants.GET))
.setHeader(InfinispanConstants.KEY, constant("123"))
.to("infinispan://localhost?cacheContainer=#cacheContainer");
local-camel-producer を示しています。これは、camel-jbossdatagrid コンポーネントを使用して、local-cache モジュールによって作成された埋め込みキャッシュにデータを送信する Camel ルートです。
cacheManager がインスタンス化される必要があります。
cacheManager Bean は以下のようにインスタンス化できます。
<bean id="cacheManager" class="org.infinispan.manager.DefaultCacheManager" init-method="start" destroy-method="stop">
<constructor-arg type="java.lang.String" value="infinispan.xml"/>
</bean>
<bean id="cacheManager" class="org.infinispan.manager.DefaultCacheManager" init-method="start" destroy-method="stop">
<constructor-arg type="java.lang.String" value="infinispan.xml"/>
</bean>
cacheManager Bean をインスタンス化する方法を示しています。
<bean id="cacheManager" class="org.infinispan.manager.DefaultCacheManager" init-method="start" destroy-method="stop">
<argument value="infinispan.xml" />
</bean>
<bean id="cacheManager" class="org.infinispan.manager.DefaultCacheManager" init-method="start" destroy-method="stop">
<argument value="infinispan.xml" />
</bean>
注記
infinispan.xml を使用します。このファイルはクラスパスに存在する必要があります。
5.3. リモートクエリー リンクのコピーリンクがクリップボードにコピーされました!
RemoteCacheManager のインスタンスである必要があります。Java および blueprint.xml で RemoteCacheManager を使用する設定例を以下に示します。
Java RemoteCacheManagerFactory クラス:
InfinispanQueryExample クラス:
remote_query_cache は、データを保持するキャッシュの任意名で、クエリーの結果は CamelInfinispanOperationResult ヘッダーとして保存されるドメインオブジェクトのリストになります。
RemoteCacheManagerはProtoStreamMarshallerを使用するよう設定される必要があります。ProtoStreamMarshallerはRemoteCacheManagerのシリアライズコンテキストで登録される必要があります。- ドメインオブジェクトの .proto 記述子はリモート JBoss Data Grid サーバーで登録される必要があります。
RemoteCacheManager の設定方法の詳細は、『Red Hat JBoss Data Grid Infinispan Query Guide』 の Remote Querying の項を参照してください。
5.4. 埋め込みキャッシュのカスタムリスナー リンクのコピーリンクがクリップボードにコピーされました!
customListener パラメーターを使用して登録できます。
from("infinispan://?cacheContainer=#myCustomContainer&cacheName=customCacheName&customListener=#myCustomListener")
.to("mock:result");
from("infinispan://?cacheContainer=#myCustomContainer&cacheName=customCacheName&customListener=#myCustomListener")
.to("mock:result");
myCustomListener のインスタンスが存在する必要があります。ユーザーは org.apache.camel.component.infinispan.embedded.InfinispanEmbeddedCustomListener を拡張し、結果となるクラスに org.infinispan.notifications にある @Listener アノテーションを付けることが推奨されます。
注記
5.5. リモートキャッシュのカスタムリスナー リンクのコピーリンクがクリップボードにコピーされました!
sync=false が存在する必要があります。例を以下に示します。
from(infinispan://?cacheContainer=#cacheManager&sync=false&customListener=#myCustomListener") .to(mock:result);
from(infinispan://?cacheContainer=#cacheManager&sync=false&customListener=#myCustomListener")
.to(mock:result);
Java クラス:
myCustomListener のインスタンスが存在する必要があります。ユーザーは org.apache.camel.component.infinispan.remote.InfinispanRemoteCustomListener クラスを拡張し、結果となるクラスに @ClientListener アノテーションを付けることが推奨されます。このアノテーションは org.infinispan.client.hotrod.annotation にあります。
@ClientListener(includeCurrentState=true, filterFactoryName = "static-filter-factory", converterFactoryName = "static-converter-factory")
private static class MyCustomListener extends InfinispanRemoteCustomListener {
}
@ClientListener(includeCurrentState=true, filterFactoryName = "static-filter-factory", converterFactoryName = "static-converter-factory")
private static class MyCustomListener extends InfinispanRemoteCustomListener {
}
@NamedFactory アノテーションが付けられたクラスを実装する必要があります。必要なメソッドを実装するスケルトンは以下のとおりです。
Remote Event Listeners の項を参照してください。
注記
RemoteCacheManager で、インスタンス化される必要があります。
5.6. Red Hat JBoss Data Grid および Red Hat JBoss Fuse リンクのコピーリンクがクリップボードにコピーされました!
5.6.1. Red Hat JBoss Fuse 向けの camel-jbossdatagrid のインストール リンクのコピーリンクがクリップボードにコピーされました!
camel-jbossdatagrid を使用して Red Hat JBoss Data Grid と JBoss Fuse を実行するには、JBoss Data Grid 7.0 と JBoss Fuse 6.1 (フルインストール) の両方がインストールされている必要があります。
手順5.1 JBoss Data Grid のインストール
- JBoss Data Grid のインストールに関する情報は、パートII「Red Hat JBoss Data Grid のダウンロードおよびインストール」を参照してください。JBoss Fuse で Camel コンポーネントを実行するには、以下の JBoss Data Grid コンポーネントのみが必要になります。
- JBoss Data Grid Maven リポジトリー。
- The JBoss Data Grid Server パッケージ (Hot Rod クライアントを使用するため)。
camel-jbossdatagrid ライブラリーは、jboss-datagrid-7.0.0-camel-library という個別のディストリビューションから入手することもできます。
手順5.2 JBoss Fuse のインストール
Red Hat JBoss Fuse をインストールする前に、ご使用のシステムが最低の条件を満たしていることを確認してください。サポートされるプラットフォームと推奨される Java ランタイムプラットフォームについては『Red Hat JBoss Fuse Installation Guide』を参照してください。
- 700 MB の空きディスク容量
- 2 GB の RAM
JBoss Fuse フルインストールのダウンロード
Red Hat JBoss Fuse アーカイブは、Red Hat カスタマーポータルでアカウントを登録してログインした後に、ダウンロード>Red Hat JBoss Fuseと選択すると表示される Software Downloads のページからダウンロードできます。ログインしている状態で以下を行います。- Software Downloads ページの ドロップダウンメニューで を選択します。
- Software Downloads ページの Version ドロップダウンリストで を選択します。
- Red Hat JBoss Fuse 6.1.0 ディストリビューションファイルの横にある ボタンをクリックし、ダウンロードします。
JBoss Fuse では、異なる機能セットが含まれるインストールを選択できます。JBoss Data Grid を JBoss Fuse と実行するには、フルインストールが必要になります。フルインストールには以下が含まれます。- Apache Karaf
- Apache Camel
- Apache ActiveAMQ
- Apache CXF
- Fuse 管理
- コンソール (hawtio)
- JBI コンポーネント
アーカイブの展開
Red Hat JBoss Fuse は、アーカイブをシステムで展開するとインストールされます。JBoss Fuse は zip ファイルとしてパッケージ化されています。適切なアーカイブツールを使用して、Red Hat JBoss Fuse を完全なアクセス権限を持つディレクトリーで展開します。警告
パス名に空白文字が含まれるフォルダーにアーカイブファイルを展開しないでください。たとえば、C:\Documents and Settings\Greco Roman\Desktop\fusesrc.で展開しないでください。さらに、パス名に特殊文字 #、%、^、または " が含まれるフォルダーにアーカイブファイルを展開しないでください。リモートコンソールユーザーの追加
サーバーのリモートコマンドコンソールはデフォルトユーザーには設定されていません。サーバーのコンソールへリモート接続する前に、ユーザーを設定に追加します。重要
このファイルの情報は暗号化されていないため、厳重なセキュリティーを必要とする環境には適していません。ユーザーを追加するには、以下を実行します。- テキストエディターで
InstallDir/etc/users.propertiesを開きます。 - 行
#admin=admin,adminを見つけます。この行は、パスワードがadminのユーザーadminと、ロールadminを指定します。 - 先頭の # を削除し、行をアンコメントします。
- 最初の
adminをユーザーの名前に置き換えます。 - 2 つ目の
adminをユーザーのパスワードに置き換えます。 - 最後の
adminはそのままにし、変更を保存します。
注記
Fuse 管理コンソールにアクセスし、 Camel ルート、ActiveMQ ブローカー、Web アプリケーションなどを監視および管理するには、Red Hat JBoss Fuse の起動後にブラウザーでにアクセスします。http://localhost:8181/hawtio
Red Hat JBoss Fuse Maven リポジトリー
Maven を使用してプロジェクトをビルドするには、Mavensettings.xmlファイルでアーティファクトの場所を指定します。次の JBoss Fuse Maven リポジトリーには Camel に必要な依存関係が含まれ、settings.xmlファイルに追加する必要があります。https://repo.fusesource.com/nexus/content/groups/public/
https://repo.fusesource.com/nexus/content/groups/public/Copy to Clipboard Copied! Toggle word wrap Toggle overflow JBoss Fuse リポジトリーは JBoss Data Grid リポジトリーと平行して実行されます。JBoss Data Grid には、camel-jbossdatagridコンポーネントに必要なすべてのアーティファクトをデプロイする Karaf 用のfeatures.xmlファイルが含まれています。このファイルは、JBoss Fuse コンテナーディストリビューションには含まれていません。features.xmlファイルはjboss-datagrid-7.0.0-maven-repository/org/apache/camel/camel-jbossdatagrid/${version}/にあります。JBoss Data Grid リポジトリーに必要な他の設定はありません。JBoss Fuse のインストールや初めて使用する場合の詳細は、Red Hat カスタマーポータルの Red Hat JBoss Fuse ドキュメントを参照してください。
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 EAP
- Red Hat JBoss Fuse
- Red Hat JBoss Data Grid
注記
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 のインストール
- Red Hat JBoss EAP をインストールして使用する前に、ご使用のシステムが 『Red Hat JBoss EAP インストールガイド』 に記載されている最低限の要件を満たしていることを確認してください。
アーカイブの展開
Red Hat JBoss EAP は zip ファイルとしてパッケージ化されているため、アーカイブをシステムで展開するとインストールされます。適切なアーカイブツールを使用して、Red Hat JBoss EAP を完全なアクセス権限を持つディレクトリーで展開します。警告
パス名に空白文字が含まれるフォルダーにアーカイブファイルを展開しないでください。たとえば、C:\Documents and Settings\Greco Roman\Desktop\JBossでは展開しないでください。さらに、パス名に特殊文字 #、%、^、または " が含まれるフォルダーにアーカイブファイルを展開しないでください。- アーカイブが展開されると、JBoss EAP が正常にインストールされます。インストールオプションの詳細は 『Red Hat JBoss EAP インストールガイド』を参照してください。
- JBoss Data Grid がライブラリーモードで使用されている場合は 「JBoss EAP での JBoss Data Grid のデプロイ (ライブラリーモード)」 を参照し、必要な依存関係がインストールされていることを確認してください。
- JBoss Data Grid がリモートクライアントサーバーモードで使用されている場合は 「JBoss EAP での JBoss Data Grid のデプロイ (リモートクライアントサーバーモード)」 を参照し、必要な依存関係がインストールされていることを確認してください。
5.7.2. EAP を用いた Camel のデプロイ リンクのコピーリンクがクリップボードにコピーされました!
5.7.2.1. 開発およびランタイム依存関係の追加 リンクのコピーリンクがクリップボードにコピーされました!
pom.xml に追加する必要があります (Maven を使用する場合)。
手順5.5 Fuse からの Camel の追加
- Fuse リポジトリーが
pom.xmlに追加されていることを確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow pom.xmlで Camel コンポーネントを依存関係として追加します。<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-core</artifactId> <version>${camel.version}</version> </dependency><dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-core</artifactId> <version>${camel.version}</version> </dependency>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
手順5.6 camel-jbossdatagrid のデプロイメントへの追加
- 3章Maven リポジトリーのインストールおよび使用 の手順に従って、maven リポジトリーを追加します。
pom.xmlで camel-jbossdatagrid を依存関係として追加します。<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-jbossdatagrid</artifactId> <version>${jdg.version}</version> </dependency><dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-jbossdatagrid</artifactId> <version>${jdg.version}</version> </dependency>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 使用している機能に応じて、残りの JBoss Data Grid の依存関係を追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.7.2.2. 任意設定: ランタイム依存関係を JBoss EAP モジュールとして追加 リンクのコピーリンクがクリップボードにコピーされました!
注記
pom.xml にてモジュールとして提供される依存関係の scope を provided に設定する必要があります。例を以下に示します。
jboss-datagrid-${jdg.version}-camel-library.zip をカスタマーポータルからダウンロードします。
extras/ ディレクトリーにある apache-camel-${camel.version}.zip を展開します。
user@example modules] unzip /path/to/jboss-fuse-${fuse.version}/extras/apache-camel-${camel.version}
user@example modules] unzip /path/to/jboss-fuse-${fuse.version}/extras/apache-camel-${camel.version}
手順5.7 JBoss Fuse からの Camel コンポーネントの追加
- $EAP_HOME/modules 以下にディレクトリーを作成します。
user@example jboss-eap-6.4] cd modules user@example modules] mkdir -p org/apache/camel/core
user@example jboss-eap-6.4] cd modules user@example modules] mkdir -p org/apache/camel/coreCopy to Clipboard Copied! Toggle word wrap Toggle overflow - jar を格納する
mainサブディレクトリーを作成します。user@example modules] mkdir org/apache/camel/core/main
user@example modules] mkdir org/apache/camel/core/mainCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 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/user@example modules] cp /path/to/jboss/fuse/extras/apache-camel-${camel.version}/lib/camel-core-${camel.version}.jar ./org/apache/camel/core/main/Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下のテキストを
org/apache/camel/core/main/module.xmlに追加し、module.xml記述子を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 上記の手順を繰り返し、使用中の各依存関係に対してモジュールを作成します。 『Red Hat JBoss 管理および設定ガイド』に記載されているとおり、モジュールによっては他のモジュールとの依存関係がある場合があります。
手順5.8 JBoss Data Grid からの Camel コンポーネントの追加
- JDG Camel コンポーネントの
mainサブディレクトリーを作成します。user@example jboss-eap-6.4] mkdir -p modules/org/apache/camel/main
user@example jboss-eap-6.4] mkdir -p modules/org/apache/camel/mainCopy to Clipboard Copied! Toggle word wrap Toggle overflow jboss-datagrid-${jdg.version}-camel-library.zipを展開します。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/user@example jboss-eap-6.4] cp jboss-datagrid-${jdg.version}-camel-library/camel-jbossdatagrid-${jdg.version}.jar modules/org/apache/camel/main/Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下のテキストを
org/apache/camel/main/module.xmlに追加し、module.xml記述子を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
WEB-INF に jboss-deployment-structure.xml を作成し、新たに作成されたモジュールに依存関係を追加します。
パート IV. Red Hat JBoss Data Grid の実行 リンクのコピーリンクがクリップボードにコピーされました!
第6章 Maven を用いた Red Hat JBoss Data Grid JAR ファイルの実行 リンクのコピーリンクがクリップボードにコピーされました!
6.1. JBoss Data Grid の実行 (リモートクライアントサーバーモード) リンクのコピーリンクがクリップボードにコピーされました!
以下の依存関係を pom.xml ファイルに追加します。
infinispan-remote依存関係を追加します。<dependency> <groupId>org.infinispan</groupId> <artifactId>infinispan-remote</artifactId> <version>${infinispan.version}</version> </dependency><dependency> <groupId>org.infinispan</groupId> <artifactId>infinispan-remote</artifactId> <version>${infinispan.version}</version> </dependency>Copy to Clipboard Copied! Toggle word wrap Toggle overflow Remote Cache Storeが使用されているインスタンスの場合も以下のようにinfinispan-embedded依存関係を追加します。<dependency> <groupId>org.infinispan</groupId> <artifactId>infinispan-embedded</artifactId> <version>${infinispan.version}</version> </dependency><dependency> <groupId>org.infinispan</groupId> <artifactId>infinispan-embedded</artifactId> <version>${infinispan.version}</version> </dependency>Copy to Clipboard Copied! Toggle word wrap Toggle overflow JSR-107が使用されているインスタンスの場合、必ず起動時にcache-apiパッケージが使用できるようにしてください。以下のいずれかの方法で、これらのパッケージを利用可能にできます。- オプション 1: Boss EAP が使用されている場合、「JBoss EAP での JBoss Data Grid のデプロイ (リモートクライアントサーバーモード)」の説明どおりに JBoss Data Grid モジュールをこのインスタンスに追加します。javax.cache.api モジュールをアプリケーションの
jboss-deployment-structure.xmlに追加します。例を以下に示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - オプション 2: カスタマーポータルから
jboss-datagrid-${jdg.version}-libraryファイルをダウンロードします。ダウンロードしたアーカイブを展開します。jboss-datagrid-${jdg.version}-library/lib/cache-api-${jcache.version}.jarファイルを希望のアプリケーションに埋め込みます。 - オプション 3: JBoss Data Grid の Maven リポジトリーを使用できる場合は、以下のようにプロジェクトの
pom.xmlに明示的な依存関係を追加します。<dependency> <groupId>javax.cache</groupId> <artifactId>cache-api</artifactId> <version>${jcache.version}</version> </dependency><dependency> <groupId>javax.cache</groupId> <artifactId>cache-api</artifactId> <version>${jcache.version}</version> </dependency>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
警告
infinispan-embedded-query.jar ファイル内に埋め込みできません。他のバージョンの Hibernate Search と Lucene が infinispan-embedded-query として同じデプロイメントに含まれないようにしてください。含まれると、クラスパスの競合が発生する原因となり、予期せぬ動作が実行されます。
6.2. JBoss Data Grid の実行 (ライブラリーモード) リンクのコピーリンクがクリップボードにコピーされました!
注記
以下の依存関係を pom.xml ファイルに追加します。
infinispan-embedded依存関係を追加します。<dependency> <groupId>org.infinispan</groupId> <artifactId>infinispan-embedded</artifactId> <version>${infinispan.version}</version> </dependency><dependency> <groupId>org.infinispan</groupId> <artifactId>infinispan-embedded</artifactId> <version>${infinispan.version}</version> </dependency>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
以下の依存関係を pom.xml ファイルに追加します。
infinispan-embedded-query依存関係を追加します。<dependency> <groupId>org.infinispan</groupId> <artifactId>infinispan-embedded-query</artifactId> <version>${infinispan.version}</version> </dependency><dependency> <groupId>org.infinispan</groupId> <artifactId>infinispan-embedded-query</artifactId> <version>${infinispan.version}</version> </dependency>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
警告
infinispan-embedded-query.jar ファイル内に埋め込みできません。他のバージョンの Hibernate Search と Lucene が infinispan-embedded-query として同じデプロイメントに含まれないようにしてください。含まれると、クラスパスの競合が発生する原因となり、予期せぬ動作が実行されます。
第7章 Red Hat JBoss Data Grid のリモートクライアントサーバーモードでの実行 リンクのコピーリンクがクリップボードにコピーされました!
7.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- 適切なバージョンの OpenJDK がインストールされている必要があります。詳細は「Red Hat Enterprise Linux に OpenJDK をインストール」を参照してください。
- 最新バージョンの JBoss Data Grid をダウンロードし、インストールする必要があります。「Red Hat JBoss Data Grid のダウンロード」を参照してください。
7.2. Red Hat JBoss Data Grid のスタンドアロンモードでの実行 リンクのコピーリンクがクリップボードにコピーされました!
$JDG_HOME/bin/standalone.sh
$JDG_HOME/bin/standalone.sh
$JDG_HOME/standalone/configuration/standalone.xml ファイルのデフォルト設定情報を使用して JBoss Data Grid を起動します。
7.3. Red Hat JBoss Data Grid のクラスターモードでの実行 リンクのコピーリンクがクリップボードにコピーされました!
$JDG_HOME/bin/standalone.sh -c clustered.xml
$JDG_HOME/bin/standalone.sh -c clustered.xml
$JDG_HOME/standalone/configuration/clustered.xml ファイルのデフォルト設定情報を使用して JBoss Data Grid を起動します。
7.4. 管理対象ドメインでの Red Hat JBoss Data Grid の実行 リンクのコピーリンクがクリップボードにコピーされました!
$JDG_HOME/bin/domain.sh
$JDG_HOME/bin/domain.sh
$JDG_HOME/standalone/configuration/domain.xml ファイルと $JDG_HOME/domain/configuration/host.xml ファイルのデフォルト設定情報を使用して JBoss Data Grid を起動します。
7.5. カスタム設定を用いた Red Hat JBoss Data Grid の実行 リンクのコピーリンクがクリップボードにコピーされました!
$JDG_HOME/standalone/configuration ディレクトリーに追加します。
$JDG_HOME/bin/standalone.sh -c ${FILENAME}
$JDG_HOME/bin/standalone.sh -c ${FILENAME}
-c は絶対パスを許可しないため、指定したファイルは $JDG_HOME/standalone/configuration ディレクトリーにある必要があります。
-c パラメーターを使用せずにコマンドを実行すると、JBoss Data Grid はデフォルト設定を使用します。
domain.xml および host.xml の 2 つの個別ファイルで設定されるため、カスタム設定ファイルを指定するための 2 つの個別フラグがあります。
-c パラメーターを使用します。
$JDG_HOME/bin/domain.sh -c ${FILENAME}
$JDG_HOME/bin/domain.sh -c ${FILENAME}
--host-config パラメーターを使用します。
$JDG_HOME/bin/domain.sh --host-config=${FILENAME}
$JDG_HOME/bin/domain.sh --host-config=${FILENAME}
7.6. IP アドレスを設定して Red Hat JBoss Data Grid を実行 リンクのコピーリンクがクリップボードにコピーされました!
127.0.0.1/localhost にバインドせずに、指定の IP アドレスへバインドする必要があります。スクリプトで -b パラメーターを使用して IP アドレスを指定します。
$JDG_HOME/bin/standalone.sh -b ${IP_ADDRESS}
$JDG_HOME/bin/standalone.sh -b ${IP_ADDRESS}
$JDG_HOME/bin/domain.sh -b ${IP_ADDRESS}
$JDG_HOME/bin/domain.sh -b ${IP_ADDRESS}
7.7. Red Hat JBoss Data Grid の実行 リンクのコピーリンクがクリップボードにコピーされました!
- (
$JDG_HOME/standalone/configuration) にあるstandalone.xmlファイルを使用して JBoss Data Grid を実行するには、以下のコマンドを実行します。$JDG_HOME/bin/standalone.sh
$JDG_HOME/bin/standalone.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow - デフォルト以外の設定ファイルを使用して JBoss Data Grid を実行するには、
-cの後に設定ファイル名を指定して以下のコマンドを実行します。$JDG_HOME/bin/standalone.sh -c clustered.xml
$JDG_HOME/bin/standalone.sh -c clustered.xmlCopy to Clipboard Copied! Toggle word wrap Toggle overflow - (
$JDG_HOME/domain/configuration/にある)domain.xmlおよびhost.xmlファイルに定義された設定を使用して JBoss Data Grid を実行するには、以下のコマンドを実行します。$JDG_HOME/bin/domain.sh
$JDG_HOME/bin/domain.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第8章 エンドポイントのないノードとして Red Hat JBoss Data Grid を実行 リンクのコピーリンクがクリップボードにコピーされました!
8.1. エンドポイントのないノードの利点 リンクのコピーリンクがクリップボードにコピーされました!
8.2. エンドポイントのないノードの設定例 リンクのコピーリンクがクリップボードにコピーされました!
手順8.1 エンドポイントのないノードの JBoss Data Grid 設定例を検索
JBoss Data Grid ZIP ファイルの展開
JBoss Data Grid リモートクライアントサーバーモードの ZIP ファイルを展開します。このファイルの名前はjboss-datagrid-server-${version}です。ファイル名に適切なバージョンを追加します。適切なフォルダーへ移動
展開したフォルダー内で、$JDG_HOME/docs/examples/configフォルダーに移動します。設定例ファイルの検索
エンドポイントのないノードの設定が含まれるclustered-storage-only.xmlを見つけます。
8.3. エンドポイントのないノードの設定 リンクのコピーリンクがクリップボードにコピーされました!
datagridサブシステムを削除します。modclusterを削除します。datasource定義を削除します。mod_cluster、Hot Rod、およびmemcachedのsocket-bindingsを削除します。
第9章 Red Hat JBoss Data Grid のライブラリーモードでの実行 リンクのコピーリンクがクリップボードにコピーされました!
- 以降の章での前提条件として、「新しい Red Hat JBoss Data Grid プロジェクトの作成」の手順に従って新しいプロジェクトを設定します。
- 次に、埋め込みキャッシュ (詳細は 10章Red Hat JBoss Data Grid のライブラリーモードでの実行 (単一ノードの設定) を参照) またはクラスター化キャッシュ (11章Red Hat JBoss Data Grid のライブラリーモードでの実行 (マルチノードの設定) を参照) のいずれかとして JBoss Data Grid を使用します。各チュートリアルは Infinispan クイックスタートを基にしています。
- 最後に、12章Red Hat JBoss EAP での Red Hat JBoss Data Grid アプリケーションの監視 の手順に従って、JBoss Data Grid を使用して Red Hat JBoss EAP アプリケーションを監視します。
9.1. 新しい Red Hat JBoss Data Grid プロジェクトの作成 リンクのコピーリンクがクリップボードにコピーされました!
9.2. プロジェクトへの依存関係の追加 リンクのコピーリンクがクリップボードにコピーされました!
pom.xml ファイルに以下を追加します。
<dependency>
<groupId>org.infinispan</groupId>
<artifactId>infinispan-embedded</artifactId>
<version>$VERSION</version>
</dependency>
<dependency>
<groupId>org.infinispan</groupId>
<artifactId>infinispan-embedded</artifactId>
<version>$VERSION</version>
</dependency>
注記
version の値を、JBoss Data Grid に含まれるライブラリーの適切なバージョンに置き換えます。
9.3. プロジェクトへのプロファイルの追加 リンクのコピーリンクがクリップボードにコピーされました!
$HOME/.m2/settings.xml の settings.xml ファイルに追加します。
例9.1 プロファイルの追加
settings.xml ファイルに含まれていることを確認し、プロファイルを有効にします。
例9.2 プロファイルの有効化
<activeProfiles>
<!-- Optionally, make the repositories active by default -->
<activeProfile>jboss-ga-repository</activeProfile>
<activeProfile>jboss-earlyaccess-repository</activeProfile>
</activeProfiles>
<activeProfiles>
<!-- Optionally, make the repositories active by default -->
<activeProfile>jboss-ga-repository</activeProfile>
<activeProfile>jboss-earlyaccess-repository</activeProfile>
</activeProfiles>
client/java/ ディレクトリーの内容を、ビルドクラスパスへ追加します。
第10章 Red Hat JBoss Data Grid のライブラリーモードでの実行 (単一ノードの設定) リンクのコピーリンクがクリップボードにコピーされました!
10.1. クイックスタートクラスの実行 リンクのコピーリンクがクリップボードにコピーされました!
これらのクイックスタートは https://github.com/infinispan/infinispan-quickstart にある Infinispan クイックスタートを使用します。以下の手順は infinispan-quickstart/embedded-cache クイックスタートを使用します。
手順10.1 クイックスタートクラスの実行
Quickstart.java ファイルを開きます。
infinispan-quickstart/embedded-cacheにあるQuickstart.javaというファイルを開きます。クイックスタートクラスの追加
Quickstart.javaファイルを調べると、このクラスがDefaultCacheManagerを作成する後に、キャッシュ名が指定されていないのでデフォルトキャッシュへのローカル参照を取得することを確認できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 依存関係のコピーおよび Java クラスのコンパイル
次のコマンドを使用して、すべてのプロジェクト依存関係をディレクトリーにコピーし、プロジェクトから Java クラスをコンパイルします。mvn clean compile dependency:copy-dependencies -DstripVersion
$ mvn clean compile dependency:copy-dependencies -DstripVersionCopy to Clipboard Copied! Toggle word wrap Toggle overflow main メソッドの実行
次のコマンドを用いて main メソッドを実行します。java -cp target/classes/:target/dependency/* package org.infinispan.quickstart.embeddedcache.Quickstart
$ java -cp target/classes/:target/dependency/* package org.infinispan.quickstart.embeddedcache.QuickstartCopy to Clipboard Copied! Toggle word wrap Toggle overflow
10.2. デフォルトキャッシュの使用 リンクのコピーリンクがクリップボードにコピーされました!
10.2.1. キャッシュのデータ追加および削除 リンクのコピーリンクがクリップボードにコピーされました!
手順10.2 キャッシュのデータ追加および削除
- エントリーを追加し、key と value を希望のキーと値に置き換えます。
cache.put("key", "value");cache.put("key", "value");Copy to Clipboard Copied! Toggle word wrap Toggle overflow - キャッシュにエントリーが存在することを確認します。
assertEquals(1, cache.size()); assertTrue(cache.containsKey("key"));assertEquals(1, cache.size()); assertTrue(cache.containsKey("key"));Copy to Clipboard Copied! Toggle word wrap Toggle overflow - キャッシュからエントリーを削除します。
Object v = cache.remove("key");Object v = cache.remove("key");Copy to Clipboard Copied! Toggle word wrap Toggle overflow - エントリーがキャッシュに存在しないことを確認します。
assertEquals("value", v); assertTrue(cache.isEmpty());assertEquals("value", v); assertTrue(cache.isEmpty());Copy to Clipboard Copied! Toggle word wrap Toggle overflow
10.2.2. キー値の追加と置換 リンクのコピーリンクがクリップボードにコピーされました!
DefaultCacheQuickstart.java ファイルに入力された各行が何を実行するかを定義する例になります。
手順10.3 キー値の追加と置換
valueをキーの値とするエントリーkeyを追加します。cache.put("key", "value");cache.put("key", "value");Copy to Clipboard Copied! Toggle word wrap Toggle overflow
手順10.4 キー値の置換
- 次のコードは、
keyおよびkey2という名前のキーを検索します。検索した 2 つのキーが見つからなかった場合、JBoss Data Grid は指定のキー名と値を持つ 2 つの新しいキーを作成します。cache.putIfAbsent("key", "newValue"); cache.putIfAbsent("key2", "value2");cache.putIfAbsent("key", "newValue"); cache.putIfAbsent("key2", "value2");Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下のコードは、格納されたキーの値が格納したい値と同じであることを確認します。
assertEquals(cache.get("key"), "value"); assertEquals(cache.get("key2"), "value2");assertEquals(cache.get("key"), "value"); assertEquals(cache.get("key2"), "value2");Copy to Clipboard Copied! Toggle word wrap Toggle overflow
関連トピック:
10.2.3. エントリーの削除 リンクのコピーリンクがクリップボードにコピーされました!
以下のメソッドはすべて org.infinispan.Cache とそのサブクラスにあります。
remove(key): 単一キーをキャッシュから削除します。removeAsync(key): 単一キーをキャッシュから非同期的に削除します。clear(): マッピングのすべてをキャッシュから削除し、呼び出しが完了するとキャッシュを空にします。clearAsync(): マッピングのすべてをキャッシュから非同期的に削除し、呼び出しが完了するとキャッシュを空にします。cache.evict(key): エントリーをキャッシュから削除し、キャッシュストアが定義されている場合はエントリーをキャッシュストアに移動します。キャッシュストアが定義されていない場合、エントリーはキャッシュから削除され、失われます。
以下のメソッドはすべて org.infinispan.client.hotrod.RemoteCache とそのサブクラスにあります。
remove(key): 単一キーをキャッシュから削除します。removeAsync(key): 単一キーをキャッシュから非同期的に削除します。clear(): マッピングのすべてをキャッシュから削除し、呼び出しが完了するとキャッシュを空にします。clearAsync(): マッピングのすべてをキャッシュから非同期的に削除し、呼び出しが完了するとキャッシュを空にします。removeWithVersion(key, version): 単一キーの現行バージョンが指定バージョンと一致する場合にのみ、単一キーをキャッシュから削除します。removeWithVersionAsync(key, value): 単一キーの現行バージョンが指定バージョンと一致する場合にのみ、単一キーをキャッシュから非同期的に削除します。
10.2.4. データセットの配置および取得 リンクのコピーリンクがクリップボードにコピーされました!
AdvancedCache および RemoteCache インターフェースには、既存データの Map の Put または Get のいずれかを一括で実行するためのメソッドが含まれます。通常これらの操作は、複数のトランザクションではなく単一ネットワーク操作が実行されるため、クライアントサーバーモードの場合はとくに個別の操作の同等のシーケンスよりも大幅に効率がよくなります。
get または put 処理が単一実行における完全な Map に対応する必要があるためです。
AdvancedCache:Map<K,V>getAll(Set<?> keys): 要求されたキーセットに関連する値を含むMapを返します。- void
putAll(Map<? extends K, ? extends V> map, Metadata metadata): 指定されたマップからこのキャッシュにすべてのマッピングをコピーします。ここではMetadataのインスタンスが取られ、保存されるエントリーについてのライフスパン、バージョンなどのメタ情報が提供されます。
RemoteCache:Map<K,V>getAll(Set<? extends K> keys): 要求されたキーセットに関連する値を含むMapを返します。- void
putAll(Map<? extends K, ? extends V> map): 指定されたマップからこのキャッシュにすべてのマッピングをコピーします。 - void
putAll(Map<? extends K, ? extends V> map, long lifespan, TimeUnit unit): エントリーの期限が切れる前のライフスパンと共に、指定されたマップからこのキャッシュにすべてのマッピングをコピーします。 - void
putAll(Map<? extends K, ? extends V> map, long lifespan, TimeUnit lifespanUnit, long maxIdleTime, TimeUnit maxIdleTimeUnit): エントリーの期限が切れる前のタイムスパンと、エントリーの期限が切れる前のエントリーのアイドル状態が許容される最大時間と共に、指定されたマップからこのキャッシュにすべてのマッピングをコピーします。
10.2.5. データライフの調整 リンクのコピーリンクがクリップボードにコピーされました!
DefaultCacheQuickstart.java ファイルに入力された各行が何を実行するかを定義する例になります。
手順10.5 データライフの調整
- キーの
lifespan値を変更します。cache.put("key", "value", 5, TimeUnit.SECONDS);cache.put("key", "value", 5, TimeUnit.SECONDS);Copy to Clipboard Copied! Toggle word wrap Toggle overflow - キャッシュにキーが含まれていることを確認します。
assertTrue(cache.containsKey("key"));assertTrue(cache.containsKey("key"));Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 割り当てられた
lifespan時間が期限切れになると、キーはキャッシュから削除されます。Thread.sleep(10000); assertFalse(cache.containsKey("key"));Thread.sleep(10000); assertFalse(cache.containsKey("key"));Copy to Clipboard Copied! Toggle word wrap Toggle overflow
10.2.6. デフォルトのデータ期限 リンクのコピーリンクがクリップボードにコピーされました!
10.2.7. XML を用いた名前付きキャッシュの登録 リンクのコピーリンクがクリップボードにコピーされました!
infinispan.xml ファイルを設定します。
infinispan.xml ファイルは、secure-embedded-cache/src/main/resources/ フォルダー内の https://github.com/jboss-developer/jboss-jdg-quickstarts/ にあり、完全スキーマは 『Red Hat JBoss Data Grid Library』 ディストリビューションの docs/schema/ ディレクトリーで利用できます。
第11章 Red Hat JBoss Data Grid のライブラリーモードでの実行 (マルチノードの設定) リンクのコピーリンクがクリップボードにコピーされました!
11.1. JGroups チャネルの共有 リンクのコピーリンクがクリップボードにコピーされました!
例11.1 共有 JGroups チャネル
EmbeddedCacheManager cm = $LOCATION
Cache<Object, Object> cache1 = cm.getCache("replSyncCache");
Cache<Object, Object> cache2 = cm.getCache("replAsyncCache");
Cache<Object, Object> cache3 = cm.getCache("invalidationSyncCache");
EmbeddedCacheManager cm = $LOCATION
Cache<Object, Object> cache1 = cm.getCache("replSyncCache");
Cache<Object, Object> cache2 = cm.getCache("replAsyncCache");
Cache<Object, Object> cache3 = cm.getCache("invalidationSyncCache");
11.2. クラスターでの Red Hat JBoss Data Grid の実行 リンクのコピーリンクがクリップボードにコピーされました!
11.2.1. プロジェクトのコンパイル リンクのコピーリンクがクリップボードにコピーされました!
mvn clean compile dependency:copy-dependencies -DstripVersion
$ mvn clean compile dependency:copy-dependencies -DstripVersion
11.2.2. レプリケーションモードでクラスター化されたキャッシュを実行 リンクのコピーリンクがクリップボードにコピーされました!
手順11.1 レプリケーションモードでクラスター化されたキャッシュを実行
- 次のコマンドを用いて最初のノードを立ち上げます。
java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.replication.Node0
$ java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.replication.Node0Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 次のコマンドを用いて、2 つ目のノードを立ち上げます。
java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.replication.Node1
$ java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.replication.Node1Copy to Clipboard Copied! Toggle word wrap Toggle overflow
両方のノードで JGroups と JBoss Data Grid が初期化されます。約 15 秒後に、キャッシュエントリーのログメッセージが最初のノードのコンソール上に表示されます。
11.2.3. ディストリビューションモードでクラスター化されたキャッシュを実行 リンクのコピーリンクがクリップボードにコピーされました!
手順11.2 ディストリビューションモードでクラスター化されたキャッシュを実行
- 次のコマンドを用いて最初のノードを立ち上げます。
java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.distribution.Node0
$ java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.distribution.Node0Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 次のコマンドを用いて、2 つ目のノードを立ち上げます。
java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.distribution.Node1
$ java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.distribution.Node1Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 次のコマンドを用いて、3 つ目のノードを立ち上げます。
java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.distribution.Node2
$ java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.distribution.Node2Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3 つのノードで JGroups と JBoss Data Grid が初期化されます。約 15 秒後に、3 番目のノードによって追加された 10 個のエントリーが、最初のノードと 2 番目のノードに分散されたように表示されます。
11.2.4. クラスターの設定 リンクのコピーリンクがクリップボードにコピーされました!
手順11.3 クラスターの設定
- 新しいクラスターのデフォルト設定を追加します。
- ネットワークの要件に従って、デフォルトのクラスター設定をカスタマイズします。カスタマイズは宣言的 (XML を使用) またはプログラム的に行います。
- レプリケートされたデータグリッドまたは分散されたデータグリッドを設定します。
11.2.4.1. デフォルトクラスター設定の追加 リンクのコピーリンクがクリップボードにコピーされました!
例11.2 デフォルト設定
new ConfigurationBuilder() .clustering().cacheMode(CacheMode.REPL_SYNC) .build()
new ConfigurationBuilder()
.clustering().cacheMode(CacheMode.REPL_SYNC)
.build()
注記
GlobalConfigurationBuilder().clusteredDefault() を使用して、事前設定されたクラスター対応の GlobalConfiguration を迅速に作成します。この設定はカスタマイズ可能です。
11.2.4.2. デフォルトクラスター設定のカスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
以下の GlobalConfiguration コードを使用して、JGroups の設定に使用するファイルの名前を指定します。
new GlobalConfigurationBuilder().transport().addProperty("configurationFile", "jgroups.xml")
.build()
new GlobalConfigurationBuilder().transport().addProperty("configurationFile", "jgroups.xml")
.build()
jgroups.xml を希望のファイル名に置き換えます。
jgroups.xml ファイルは Infinispan-Quickstart/clustered-cache/src/main/resources/ にあります。
注記
-Djgroups.bind_addr="127.0.0.1" を使用します。これは、すべてのノードが 1 つのマシン上にある状態でクラスターをテストする場合に特に便利です。
infinispan.xml ファイルにある以下の XML スニペットを使用して、 Red Hat JBoss Data Grid の XML 設定を使用するよう JGroups プロパティーを設定します。
11.2.4.3. レプリケートされたデータグリッドの設定 リンクのコピーリンクがクリップボードにコピーされました!
以下のコードスニペットを使用して、レプリケーションモードのキャッシュをプログラムを用いて設定します (同期または非同期)。
infinispan.xml ファイルを編集して次の XML コードが含まれるように、レプリケーションモードのキャッシュを宣言的に設定します (同期または非同期)。
private static EmbeddedCacheManager createCacheManagerFromXml() throws IOException {
return new DefaultCacheManager("infinispan.xml");}
private static EmbeddedCacheManager createCacheManagerFromXml() throws IOException {
return new DefaultCacheManager("infinispan.xml");}
注記
org.infinispan.jmx.JmxDomainConflictException: Domain already registered org.infinispan などのエラーが表示されることがあります。
11.2.4.4. 分散されたデータグリッドの設定 リンクのコピーリンクがクリップボードにコピーされました!
numOwners パラメーターによって制御され、各エントリーの「所有者」の数が示されます。
numOwners の値を調整し、容量、永続性、および可用性のバランスが取れるように設定してください。JBoss Data Grid のトポロジーに対応する一貫性のあるハッシュによって、永続性がさらに向上されます。このようなハッシュは、さまざまなデータセンター、ラック、およびノードの全体でエントリーの「所有者」を検索します。
次のように、ディストリビューションモードのキャッシュをプログラムを用いて設定します (同期または非同期)。
new ConfigurationBuilder()
.clustering()
.cacheMode(CacheMode.DIST_SYNC)
.hash().numOwners(2)
.build()
new ConfigurationBuilder()
.clustering()
.cacheMode(CacheMode.DIST_SYNC)
.hash().numOwners(2)
.build()
infinispan.xml ファイルに次の XML コードが含まれるようにし、ディストリビューションモードのキャッシュを宣言的に設定します (同期または非同期)。
第12章 Red Hat JBoss EAP での Red Hat JBoss Data Grid アプリケーションの監視 リンクのコピーリンクがクリップボードにコピーされました!
12.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- JBoss Enterprise Application Platform 6 (またはそれ以降) をインストールし、設定する必要があります。
- JBoss Operations Network 3.2.2 (またはそれ以降) をインストールし、設定する必要があります。
- JBoss Data Grid (6.3 以降) ライブラリーモードプラグインをインストールし、設定する必要があります。
12.2. Red Hat JBoss EAP での Red Hat JBoss Data Grid アプリケーションの監視 リンクのコピーリンクがクリップボードにコピーされました!
手順12.1 JBoss Enterprise Application Platform での JBoss Data Grid アプリケーションの監視
RHQ/JBoss Operations Network の設定
以下のように、RHQ/JBoss Operations Network 固有のプロパティー (org.rhq.resourceKey) を/bin/standalone.confファイルに追加します。JAVA_OPTS="$JAVA_OPTS -Dorg.rhq.resourceKey=MyEAP"
JAVA_OPTS="$JAVA_OPTS -Dorg.rhq.resourceKey=MyEAP"Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは、プロパティーを間接的に JBoss Enterprise Application Platform のコマンドラインに追加します。フル JDK を使用して RHQ/JBoss Operations Network が実行されていることを確認
RHQ/JBoss Operations Network エージェントが JRE ではなくフル JDK を使用して起動したことを確認してください。これは、エージェントは JDK のtools.jarファイルにアクセスする必要があるためです。RHQ/JBoss Operations Network エージェントが JDK を使用するよう設定するため、ご使用のオペレーティングシステムに対応する以下の手順に従います。- Linux の場合は、
RHQ_AGENT_JAVA_HOME環境変数をエージェントのrhq-agent-env.shファイルの JDK ホームディレクトリーに設定します。 - Windows の場合は、
RHQ_AGENT_JAVA_HOME環境変数をエージェントのrhq-agent-env.batファイルの JDK ホームディレクトリーに設定します。
エージェントが JBoss Enterprise Application Platform インスタンスのローカルであることを確認
JBoss Application Platform インスタンスと同じユーザーが、JBoss Application Platform インスタンスのローカルになるよう RHQ/JBoss Operations Network エージェントを実行するようにしてください。これは、Java Attach API がプロセスに接続するために必要です。リソースをエージェントインベントリーにインポート
RHQ/JBoss Operations Network がリソースを検索できるようになりました。これらのリソースはエージェントインベントリーへインポートできます。JBoss Data Grid のユーザーデプロイメントが JMX 統計による JBoss Data Grid キャッシュマネージャーまたはキャッシュの公開を有効すると、リソースは JBoss Enterprise Application Platform インスタンスの子リソースとして表示されます。
パート V. キャッシュマネージャーのセットアップ リンクのコピーリンクがクリップボードにコピーされました!
第13章 キャッシュマネージャー リンクのコピーリンクがクリップボードにコピーされました!
- 複数のインスタンスをオンデマンドで作成します。
- 既存のキャッシュインスタンスを読み出します (すでに作成されたキャッシュ)。
13.1. キャッシュマネージャーの種類 リンクのコピーリンクがクリップボードにコピーされました!
EmbeddedCacheManagerは、クライアントが使用する Java 仮想マシン (JVM) 内で実行されるキャッシュマネージャーです。現在 JBoss Data Grid は、EmbeddedCacheManagerインターフェースのDefaultCacheManager実装のみを提供しています。RemoteCacheManagerは、リモートキャッシュにアクセスするために使用されます。RemoteCacheManagerは、起動時に Hot Rod サーバー (または複数の Hot Rod サーバー) への接続をインスタンス化します。次にRemoteCacheManagerは、それが実行されている間に永続的なTCP接続を管理します。結果的に、RemoteCacheManagerはリソースを集中的に使用します。そのため、それぞれの Java 仮想マシン (JVM) に対して単一のRemoteCacheManagerインスタンスを設定する方法が推奨されます。
13.2. CacheManagers の作成 リンクのコピーリンクがクリップボードにコピーされました!
13.2.1. 新しい RemoteCacheManager の作成 リンクのコピーリンクがクリップボードにコピーされました!
手順13.1 新しい RemoteCacheManager の設定
ConfigurationBuilder()コンストラクターを使用して新しい設定ビルダーを作成します。.addServer()メソッドは、.host(<hostname|ip>)プロパティーと.port(<port>)プロパティーで設定されたリモートサーバーを追加します。- 指定された設定を使用して新しい
RemoteCacheManagerを作成します。 - リモートサーバーからデフォルトキャッシュを取得します。
13.2.2. 新しい組み込みキャッシュマネージャーの作成 リンクのコピーリンクがクリップボードにコピーされました!
手順13.2 新しい組み込みキャッシュマネージャーの作成
- 設定 XML ファイルを作成します。たとえば、クラスパス上 (
resources/フォルダー内) にmy-config-file.xmlファイルを作成し、このファイルに設定情報を追加します。 - 設定ファイルを使用してキャッシュマネージャーを作成するには、以下のプログラムを使用した設定を使用します。
EmbeddedCacheManager manager = new DefaultCacheManager("my-config-file.xml"); Cache defaultCache = manager.getCache();EmbeddedCacheManager manager = new DefaultCacheManager("my-config-file.xml"); Cache defaultCache = manager.getCache();Copy to Clipboard Copied! Toggle word wrap Toggle overflow
my-config-file.xml で指定された設定を使用して新規の EmbeddedCacheManager が作成されます。
13.2.3. CDI の使用による新しい組み込みキャッシュマネージャーの作成 リンクのコピーリンクがクリップボードにコピーされました!
手順13.3 CDI を使用した新規 EmbeddedCacheManager の作成
- 次のようにデフォルト設定を指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - デフォルトのキャッシュマネージャーを挿入します。
<!-- Additional configuration information here --> @Inject EmbeddedCacheManager cacheManager; <!-- Additional configuration information here -->
<!-- Additional configuration information here --> @Inject EmbeddedCacheManager cacheManager; <!-- Additional configuration information here -->Copy to Clipboard Copied! Toggle word wrap Toggle overflow
13.3. 複数のキャッシュマネージャー リンクのコピーリンクがクリップボードにコピーされました!
13.3.1. 単一のキャッシュマネージャーを用いた複数キャッシュの作成 リンクのコピーリンクがクリップボードにコピーされました!
13.3.2. 複数のキャッシュマネージャーの使用 リンクのコピーリンクがクリップボードにコピーされました!
TCP プロトコルを使用し、他のキャッシュが UDP プロトコルを使用する場合など、複数のキャッシュに異なるネットワーク特性が必要な場合は、複数のキャッシュマネージャーを使用する必要があります。
13.3.3. 複数のキャッシュマネージャーの作成 リンクのコピーリンクがクリップボードにコピーされました!
infinispan.xml ファイルの内容を新規の設定ファイルにコピーします。新規ファイルで必要な設定についての編集を行ってから、新しいキャッシュマネージャー用にこの新規ファイルを使用します。
パート VI. Red Hat JBoss Data Grid のクイックスタート リンクのコピーリンクがクリップボードにコピーされました!
| クイックスタート名 | コンテナー | JBoss Data Grid モード | 詳細のリンク |
|---|---|---|---|
| Hello World | JBoss EAP | ライブラリーモード | 14章Hello World クイックスタート |
| Carmart Non-Transactional | JBoss EAP および JBoss Enterprise Web Server | ライブラリーモード | 「JBoss EAP を用いた (非トランザクション) CarMart クイックスタート」 |
| Carmart Non-Transactional | JBoss EAP および JBoss Enterprise Web Server | リモートクライアントサーバーモード | 「リモートクライアントサーバーモードでの (非トランザクション) CarMart クイックスタート (JBoss EAP)」 および 「リモートクライアントサーバーモードでの (非トランザクション) CarMart クイックスタート (JBoss Enterprise Web Server)」 |
| Carmart Transactional | JBoss EAP および JBoss Enterprise Web Server | ライブラリーモード | 「JBoss EAP を用いた (トランザクション) CarMart クイックスタート」 および 「JBoss Enterprise Web Server を用いた (トランザクション) CarMart クイックスタート」 |
| Football Application | コンテナーなし | リモートクライアントサーバーモード | 16章Football クイックスタートエンドポイントの例 |
| Rapid Stock Market | コンテナーなし | リモートクライアントサーバーモード | 17章Rapid Stock Market クイックスタート |
| Cluster App | JBoss EAP | ライブラリーモード | 18章Cluster App クイックスタート |
| camel-jbossdatagrid-fuse | JBoss Fuse | ライブラリーモード | 19章camel-jbossdatagrid-fuse クイックスタート |
第14章 Hello World クイックスタート リンクのコピーリンクがクリップボードにコピーされました!
- サーブレットからアクセスする方法。
- リクエストスコープ Bean を使用して JSF からアクセスする方法。
重要
JBoss Data Grid の Hello World クイックスタートは、jboss-datagrid-{VERSION}-quickstarts/ にあります。
14.1. クイックスタートの前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- Java 6.0 (Java SDK 1.6) 以上
- JBoss Enterprise Application Platform 6.x または JBoss Enterprise Web Server 2.x
- Maven 3.0 以上
- Maven リポジトリーを設定します。詳細は3章Maven リポジトリーのインストールおよび使用を参照してください。
14.2. 2 つのアプリケーションサーバーインスタンスの起動 リンクのコピーリンクがクリップボードにコピーされました!
手順14.1 最初のアプリケーションサーバーインスタンスの起動
ルートディレクトリーへ移動
コマンドラインターミナルで、JBoss サーバーディレクトリーのルートへ移動します。最初のアプリケーションサーバーを起動
ご使用のオペレーティングシステムに適した以下のコマンドを使用して、選択したアプリケーションサーバーの最初のインスタンスを起動します。- Linux の場合:
$JBOSS_HOME/bin/standalone.sh
$JBOSS_HOME/bin/standalone.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Windows の場合:
$JBOSS_HOME\bin\standalone.bat
$JBOSS_HOME\bin\standalone.batCopy to Clipboard Copied! Toggle word wrap Toggle overflow
手順14.2 2 番目のアプリケーションサーバーインスタンスの起動
アプリケーションサーバーのクローン
選択した JBoss Server のコピーを作成し、2 番目のインスタンスを作成します。ルートディレクトリーへ移動
コマンドラインターミナルで、JBoss サーバーディレクトリーのルートへ移動します。2 番目のアプリケーションサーバーの起動
ご使用のオペレーティングシステムに適した以下のコマンドを使用します。このコマンドは提供されるポートオフセットでサーバーを起動し、両方のサーバーインスタンスが同じホストで実行されるようにします。- Linux の場合:
$JBOSS_HOME2/bin/standalone.sh -Djboss.socket.binding.port-offset=100
$JBOSS_HOME2/bin/standalone.sh -Djboss.socket.binding.port-offset=100Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Windows の場合:
$JBOSS_HOME2\bin\standalone.bat -Djboss.socket.binding.port-offset=100
$JBOSS_HOME2\bin\standalone.bat -Djboss.socket.binding.port-offset=100Copy to Clipboard Copied! Toggle word wrap Toggle overflow
14.3. Hello World クイックスタートのビルドおよびデプロイ リンクのコピーリンクがクリップボードにコピーされました!
手順14.3 Hello World クイックスタートのビルドおよびデプロイ
必要なディレクトリーへの移動
コマンドラインターミナルで、クイックスタートのルートディレクトリーへ移動します。最初のアプリケーションサーバーインスタンスのビルドおよびデプロイ
以下のコマンドを使用して、クイックスタートを最初のアプリケーションサーバーインスタンスにビルドおよびデプロイします。mvn clean package jboss-as:deploy
# mvn clean package jboss-as:deployCopy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは、target/jboss-helloworld-jdg.warを稼働している最初のサーバーインスタンスにデプロイします。2 番目のアプリケーションサーバーインスタンスのビルドおよびデプロイ
以下のコマンドを使用して、クイックスタートを指定のポートを持つ 2 番目のアプリケーションサーバーインスタンスにビルドおよびデプロイします。mvn clean package jboss-as:deploy -Djboss-as.port=10099
# mvn clean package jboss-as:deploy -Djboss-as.port=10099Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは、target/jboss-helloworld-jdg.warを稼働している 2 番目のサーバーインスタンスにデプロイします。
14.4. 実行中のアプリケーションへのアクセス リンクのコピーリンクがクリップボードにコピーされました!
- 最初のサーバーインスタンス: http://localhost:8080/jboss-helloworld-jdg
- 2 番目のサーバーインスタンス: http://localhost:8180/jboss-helloworld-jdg
14.5. アプリケーションでのレプリケーションのテスト リンクのコピーリンクがクリップボードにコピーされました!
手順14.4 アプリケーションでのレプリケーションのテスト
最初のサーバーへのアクセス
最初のアプリケーションサーバーへアクセスし、キーと値を入力します。- ブラウザーのウインドウで以下の URL を指定し、最初のアプリケーションサーバーへアクセスします。
http://localhost:8080/jboss-helloworld-jdg
http://localhost:8080/jboss-helloworld-jdgCopy to Clipboard Copied! Toggle word wrap Toggle overflow - キー
fooを挿入します。 - 値
barを挿入します。
2 番目のサーバーへのアクセス
2 番目のアプリケーションサーバーへアクセスし、キーと値を入力します。- ブラウザーのウインドウで以下の URL を指定し、2 番目のアプリケーションサーバーへアクセスします。
http://localhost:8180/jboss-helloworld-jdg
http://localhost:8180/jboss-helloworld-jdgCopy to Clipboard Copied! Toggle word wrap Toggle overflow - をクリックします。
- キー
fooを取得します。 - をクリックします。
- キー
mykeyを挿入します。 - 値
myvalueを挿入します。
すべてのキーおよび値の取得
最初のサーバーへアクセスし、すべてのキーを要求します。- ブラウザーのウインドウで以下の URL を指定し、最初のアプリケーションサーバーへアクセスします。
http://localhost:8080/jboss-helloworld-jdg
http://localhost:8080/jboss-helloworld-jdgCopy to Clipboard Copied! Toggle word wrap Toggle overflow - をクリックします。
- をクリックし、すべてのキーおよび値を要求します。
最後の手順の実行後、各サーバーに追加されたすべてのデータが別のサーバーにレプリケートされます。
注記
事前定義されたサーブレットと対話する場合や、キーを直接キャッシュに保存したり読み出したりする場合は、以下の URL を使用します。
http://localhost:8080/jboss-helloworld-jdg/TestServletPut
http://localhost:8080/jboss-helloworld-jdg/TestServletPut
http://localhost:8180/jboss-helloworld-jdg/TestServletGet
http://localhost:8180/jboss-helloworld-jdg/TestServletGet
14.6. アプリケーションの削除 リンクのコピーリンクがクリップボードにコピーされました!
手順14.5 アプリケーションの削除
アプリケーションサーバーの起動
両方のサーバーインスタンスが実行されているようにしてください。ルートディレクトリーへ移動
コマンドラインターミナルで、クイックスタートのルートディレクトリーへ移動します。アーカイブの削除
以下のコマンドを使用して両方のサーバーインスタンスからアーカイブを削除します。- 以下のとおり、最初のサーバーインスタンスからアーカイブを削除します。
mvn jboss-as:undeploy
mvn jboss-as:undeployCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下のとおり、2 番目のサーバーインスタンスからアーカイブを削除します。
mvn jboss-as:undeploy -Djboss-as.port=10099
mvn jboss-as:undeploy -Djboss-as.port=10099Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第15章 CarMart クイックスタート リンクのコピーリンクがクリップボードにコピーされました!
CarMart クイックスタートは次の機能を提供します。
- 全車の一覧
- 新しい車の追加
- 車の削除
- ヒット数、保存、読み出しなど、キャッシュの統計を表示
CarMart クイックスタートは、次の JBoss Data Grid の使用モードで使用可能です。
- リモート JBoss Data Grid サーバーと通信するため Hot Rod クライアントが含まれる、リモートクライアントサーバーモード。
- すべてのライブラリーが
jarファイル形式でアプリケーションとバンドルされる、ライブラリーモード。
JBoss Data Grid の CarMart クイックスタートは、jboss-datagrid-{VERSION}-quickstarts/ にあります。
15.1. CarMart トランザクションクイックスタート リンクのコピーリンクがクリップボードにコピーされました!
トランザクション CarMart クイックスタートは次の機能を提供します。
- 全車の一覧
- 新しい車の追加
- ロールバックで新しい車を追加
- 車の削除
- ヒット数、保存、読み出しなど、キャッシュの統計を表示
トランザクション CarMart クイックスタートは JBoss Data Grid のライブラリモードでのみ使用できます。トランザクション CarMart クイックスタートが Red Hat JBoss Enterprise Web Server 2.x で実行されると、JBoss Transactions からタンドアロントランザクションマネージャーが使用されます。
JBoss Data Grid のトランザクション CarMart クイックスタートは、jboss-datagrid-{VERSION}-quickstarts/carmart-tx にあります。
15.2. CarMart とトランザクションクイックスタートの違い リンクのコピーリンクがクリップボードにコピーされました!
- CarMart はリモートクライアントサーバーモードとライブラリーモードの両方で使用可能です。リモートクライアントサーバーモードではトランザクションが使用できないため、トランザクション CarMart はライブラリーモードでのみ使用可能です。
- また、トランザクションクイックスタートは、トランザクションロールバックがどのように発生するかを表示します。 ボタンを使用してロールバックを表示します。CarMart の例には、簡単な ボタンがあります。
15.3. JBoss EAP を用いた (非トランザクション) CarMart クイックスタート リンクのコピーリンクがクリップボードにコピーされました!
15.3.1. クイックスタートの前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- Java 6.0 (Java SDK 1.6) 以上
- JBoss Enterprise Application Platform 6.x または JBoss Enterprise Web Server 2.x
- Maven 3.0 以上
- Maven リポジトリーを設定します。詳細は3章Maven リポジトリーのインストールおよび使用を参照してください。
15.3.2. CarMart クイックスタートの JBoss EAP へのビルドおよびデプロイ リンクのコピーリンクがクリップボードにコピーされました!
この手順の前提条件は次のとおりです。
- サポートされる JBoss Data Grid ライブラリーモードの分散ファイルを取得します。
- JBoss Data Grid および JBoss Enterprise Application Platform Maven リポジトリーがインストールされ、設定されているようにしてください。詳細は 3章Maven リポジトリーのインストールおよび使用 を参照してください。
- JBoss Enterprise Application Platform 6 (またはそれ以上) または JBoss EAP 6 (またはそれ以上) を使用する JBoss サーバーを選択します。
手順15.1 CarMart の JBoss EAP へのビルドおよびデプロイ
JBoss EAP の起動
ご使用のオペレーティングシステムに適した以下のコマンドを使用して、選択したアプリケーションサーバーの最初のインスタンスを起動します。Linux の場合$JBOSS_HOME/bin/standalone.sh
$JBOSS_HOME/bin/standalone.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow Windows の場合$JBOSS_HOME\bin\standalone.bat
$JBOSS_HOME\bin\standalone.batCopy to Clipboard Copied! Toggle word wrap Toggle overflow ルートディレクトリーへ移動
コマンドラインターミナルを開き、このクイックスタートのルートディレクトリーへ移動します。アプリケーションのビルドおよびデプロイ
以下のコマンドを実行し、Maven を使用してアプリケーションをビルドおよびデプロイします。mvn clean package jboss-as:deploy
$ mvn clean package jboss-as:deployCopy to Clipboard Copied! Toggle word wrap Toggle overflow
ターゲット war ファイル(target/jboss-carmart.war) が実行中の JBoss EAP インスタンスにデプロイされます。
15.3.3. JBoss EAP での CarMart クイックスタートの表示 リンクのコピーリンクがクリップボードにコピーされました!
表示する CarMart クリックスタートがビルドおよびデプロイされている必要があります。
手順15.2 JBoss EAP での CarMart クイックスタートの表示
- アプリケーションを表示するには、ブラウザーを使用して次のリンクに移動します。
http://localhost:8080/jboss-carmart
http://localhost:8080/jboss-carmartCopy to Clipboard Copied! Toggle word wrap Toggle overflow
15.3.4. JBoss EAP での CarMart クイックスタートの削除 リンクのコピーリンクがクリップボードにコピーされました!
手順15.3 JBoss EAP からアプリケーションを削除
- アプリケーションを削除するには、このクイックスタートのルートディレクトリーから次のコマンドを使用します。
mvn jboss-as:undeploy
$ mvn jboss-as:undeployCopy to Clipboard Copied! Toggle word wrap Toggle overflow
15.4. JBoss Enterprise Web Server を用いた (非トランザクション) CarMart クイックスタート リンクのコピーリンクがクリップボードにコピーされました!
15.4.1. CarMart クイックスタートの JBoss Enterprise Web Server へのビルドおよびデプロイ リンクのコピーリンクがクリップボードにコピーされました!
この手順の前提条件は次のとおりです。
- JBoss Data Grid および JBoss Enterprise Application Platform Maven リポジトリーがインストールされ、設定されているようにしてください。詳細は 3章Maven リポジトリーのインストールおよび使用 を参照してください。
- ご使用のアプリケーションに JBoss Enterprise Web Server 2 (またはそれ以上) を選択し、インストールしてください。
手順15.4 CarMart クイックスタートのサーバーへのビルド (ライブラリーモード)
サーバーの起動
ご使用のオペレーティングシステムに適した以下のコマンドを使用して、選択したアプリケーションサーバーの最初のインスタンスを起動します。Linux の場合$JBOSS_EWS_HOME/tomcat7/bin/catalina.sh run
$JBOSS_EWS_HOME/tomcat7/bin/catalina.sh runCopy to Clipboard Copied! Toggle word wrap Toggle overflow Windows の場合$JBOSS_EWS_HOME\tomcat7\bin\catalina.bat run
$JBOSS_EWS_HOME\tomcat7\bin\catalina.bat runCopy to Clipboard Copied! Toggle word wrap Toggle overflow ルートディレクトリーへ移動
コマンドラインターミナルを開き、このクイックスタートのルートディレクトリーへ移動します。アプリケーションのビルドおよびデプロイ
以下のコマンドを実行し、Maven を使用してアプリケーションをビルドおよびデプロイします。mvn -Plibrary-tomcat clean package tomcat:deploy
$ mvn -Plibrary-tomcat clean package tomcat:deployCopy to Clipboard Copied! Toggle word wrap Toggle overflow
ターゲット war ファイル(target/jboss-carmart.war) が実行中の選択したサーバーのインスタンスにデプロイされます。
15.4.2. JBoss Enterprise Web Server を用いた CarMart クイックスタートの表示 リンクのコピーリンクがクリップボードにコピーされました!
表示する CarMart クリックスタートがビルドおよびデプロイされている必要があります。
手順15.5 CarMart クイックスタートの表示
- アプリケーションを表示するには、ブラウザーを使用して次のリンクに移動します。
http://localhost:8080/jboss-carmart
http://localhost:8080/jboss-carmartCopy to Clipboard Copied! Toggle word wrap Toggle overflow
15.4.3. JBoss Enterprise Web Server での CarMart クイックスタートの削除 リンクのコピーリンクがクリップボードにコピーされました!
手順15.6 JBoss Enterprise Web Server からアプリケーションを削除
- アプリケーションを削除するには、このクイックスタートのルートディレクトリーから次のコマンドを使用します。
mvn tomcat:undeploy -Plibrary-tomcat
$ mvn tomcat:undeploy -Plibrary-tomcatCopy to Clipboard Copied! Toggle word wrap Toggle overflow
15.5. リモートクライアントサーバーモードでの (非トランザクション) CarMart クイックスタート (JBoss EAP) リンクのコピーリンクがクリップボードにコピーされました!
15.5.1. リモートクライアントサーバーモードでの CarMart クイックスタートのビルドおよびデプロイ リンクのコピーリンクがクリップボードにコピーされました!
重要
この手順の前提条件は次のとおりです。
- サポートされる最新の JBoss Data Grid リモートクライアントサーバーモードディストリビューションファイルを Red Hat から取得します。
- JBoss Data Grid および JBoss Enterprise Application Platform Maven リポジトリーがインストールされ、設定されているようにしてください。詳細は 3章Maven リポジトリーのインストールおよび使用 を参照してください。
- 使用する JBoss サーバー (JBoss Enterprise Application Platform 6 以降) を選択します。ターミナルウインドウで、JBoss サーバーディレクトリーのルートに移動し、以下のコマンドを入力します。Linux の場合
$JBOSS_HOME/bin/standalone.sh
$JBOSS_HOME/bin/standalone.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow Windows の場合$JBOSS_HOME\bin\standalone.bat
$JBOSS_HOME\bin\standalone.batCopy to Clipboard Copied! Toggle word wrap Toggle overflow
手順15.7 リモートクライアントサーバーモードでの CarMart クイックスタートのビルドおよびデプロイ
スタンドアロンファイルの設定
$JDG_HOME/standalone/configuration/ディレクトリーにあるstandalone.xmlファイルに、次の設定を追加します。- infinispan サブシステムのタグ内に次の設定を追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記
設定にcarcache要素がすでに存在する場合は、提供される設定に置き換えてください。
JBoss Data Grid サーバーの起動
以下のスクリプトを実行して、JBoss Data Grid サーバーを起動します。$JDG_HOME/bin/standalone.sh -Djboss.socket.binding.port-offset=100
$JDG_HOME/bin/standalone.sh -Djboss.socket.binding.port-offset=100Copy to Clipboard Copied! Toggle word wrap Toggle overflow JBoss サーバーの起動
次のスクリプトを実行し、アプリケーションがデプロイされる場所で JBoss サーバーインスタンスを起動します。$JBOSS_HOME/bin/standalone.sh
$JBOSS_HOME/bin/standalone.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow 任意の設定: ホストおよびポートアドレスの指定
アプリケーションはjboss-datagrid-{VERSION}-quickstarts/carmart/src/main/resources/META-INF/datagrid.propertiesファイルの値を使用して JBoss Data Grid サーバーを見つけます。JBoss Data Grid サーバーがデフォルトのホストおよびポートの値を使用して実行されていない場合、次のようにファイルを編集し、正しいホストおよびポートの値を挿入します。datagrid.host=localhost datagrid.hotrod.port=11322
datagrid.host=localhost datagrid.hotrod.port=11322Copy to Clipboard Copied! Toggle word wrap Toggle overflow ルートディレクトリーへ移動
コマンドラインターミナルを開き、このクイックスタートのルートディレクトリーへ移動します。アプリケーションのビルドおよびデプロイ
以下のコマンドを実行し、Maven を使用してアプリケーションをビルドおよびデプロイします。mvn clean package jboss-as:deploy -Premote-jbossas
$ mvn clean package jboss-as:deploy -Premote-jbossasCopy to Clipboard Copied! Toggle word wrap Toggle overflow
15.5.2. リモートクライアントサーバーモードでの CarMart クイックスタートの表示 リンクのコピーリンクがクリップボードにコピーされました!
表示する CarMart クリックスタートがビルドおよびデプロイされている必要があります。
手順15.8 リモートクライアントサーバーモードでの CarMart クイックスタートの表示
- ブラウザーウインドウで次のリンクにアクセスし、アプリケーションを表示します。
http://localhost:8080/jboss-carmart
http://localhost:8080/jboss-carmartCopy to Clipboard Copied! Toggle word wrap Toggle overflow
15.5.3. リモートクライアントサーバーモードでの CarMart クイックスタートの削除 リンクのコピーリンクがクリップボードにコピーされました!
手順15.9 リモートクライアントサーバーモードでのアプリケーションの削除
- アプリケーションを削除するには、このクイックスタートのルートディレクトリーから次のコマンドを使用します。
mvn jboss-as:undeploy -Premote-jbossas
$ mvn jboss-as:undeploy -Premote-jbossasCopy to Clipboard Copied! Toggle word wrap Toggle overflow
15.6. リモートクライアントサーバーモードでの (非トランザクション) CarMart クイックスタート (JBoss Enterprise Web Server) リンクのコピーリンクがクリップボードにコピーされました!
15.6.1. リモートクライアントサーバーモードでの CarMart クイックスタートのビルドおよびデプロイ リンクのコピーリンクがクリップボードにコピーされました!
重要
この手順の前提条件は次のとおりです。
- サポートされる最新の JBoss Data Grid リモートクライアントサーバーモードディストリビューションファイルを Red Hat から取得します。
- JBoss Data Grid および JBoss Enterprise Application Platform Maven リポジトリーがインストールされ、設定されているようにしてください。詳細は 3章Maven リポジトリーのインストールおよび使用 を参照してください。
server要素を Maven のsettings.xmlファイルに追加します。適切な Tomcat のクレデンシャルをserver内のid要素に追加します。<server> <id>tomcat</id> <username>admin</username> <password>admin</password> </server><server> <id>tomcat</id> <username>admin</username> <password>admin</password> </server>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
手順15.10 リモートクライアントサーバーモードでの CarMart クイックスタートのビルドおよびデプロイ
スタンドアロンファイルの設定
$JDG_HOME/standalone/configuration/ディレクトリーにあるstandalone.xmlファイルに、次の設定を追加します。- infinispan サブシステムのタグ内に次の設定を追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記
設定にcarcache要素がすでに存在する場合は、提供される設定に置き換えてください。
コンテナーの起動
アプリケーションがデプロイされる場所で JBoss サーバーインスタンスを起動します。Linux の場合:$JBOSS_EWS_HOME/tomcat7/bin/catalina.sh run
$JBOSS_EWS_HOME/tomcat7/bin/catalina.sh runCopy to Clipboard Copied! Toggle word wrap Toggle overflow Windows の場合:$JBOSS_EWS_HOME\tomcat7\bin\catalina.bat run
$JBOSS_EWS_HOME\tomcat7\bin\catalina.bat runCopy to Clipboard Copied! Toggle word wrap Toggle overflow アプリケーションのビルド
次のコマンドを実行し、関連するディレクトリーでアプリケーションをビルドします。mvn clean package -Premote-tomcat
$ mvn clean package -Premote-tomcatCopy to Clipboard Copied! Toggle word wrap Toggle overflow アプリケーションのデプロイ
次のコマンドを実行し、関連するディレクトリーでアプリケーションをデプロイします。mvn tomcat:deploy -Premote-tomcat
mvn tomcat:deploy -Premote-tomcatCopy to Clipboard Copied! Toggle word wrap Toggle overflow
15.6.2. リモートクライアントサーバーモードでの CarMart クイックスタートの表示 リンクのコピーリンクがクリップボードにコピーされました!
表示する CarMart クリックスタートがビルドおよびデプロイされている必要があります。
手順15.11 リモートクライアントサーバーモードでの CarMart クイックスタートの表示
- ブラウザーウインドウで次のリンクにアクセスし、アプリケーションを表示します。
http://localhost:8080/jboss-carmart
http://localhost:8080/jboss-carmartCopy to Clipboard Copied! Toggle word wrap Toggle overflow
15.6.3. リモートクライアントサーバーモードでの CarMart クイックスタートの削除 リンクのコピーリンクがクリップボードにコピーされました!
手順15.12 リモートクライアントサーバーモードでのアプリケーションの削除
- アプリケーションを削除するには、このクイックスタートのルートディレクトリーから次のコマンドを使用します。
mvn tomcat:undeploy -Premote-tomcat
$ mvn tomcat:undeploy -Premote-tomcatCopy to Clipboard Copied! Toggle word wrap Toggle overflow
15.7. JBoss EAP を用いた (トランザクション) CarMart クイックスタート リンクのコピーリンクがクリップボードにコピーされました!
CacheContainerProvider インターフェースの JBossASCacheContainerProvider/TomcatCacheContainerProvider 実装クラスで設定されます。
15.7.1. クイックスタートの前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- Java 6.0 (Java SDK 1.6) 以上
- JBoss Enterprise Application Platform 6.x または JBoss Enterprise Web Server 2.x
- Maven 3.0 以上
- Maven リポジトリーを設定します。詳細は3章Maven リポジトリーのインストールおよび使用を参照してください。
15.7.2. トランザクション CarMart クイックスタートのビルドおよびデプロイ リンクのコピーリンクがクリップボードにコピーされました!
CarMart クイックスタートをビルドおよびデプロイする前に以下の前提条件を満たしていることを確認してください。
- Maven の設定 (「クイックスタートの前提条件」を参照してください)
- JBoss Enterprise Application Platform の起動
- コマンドラインターミナルで、JBoss EAP サーバーディレクトリーのルートへ移動します。
- 以下のコマンドの 1 つを使用し、Web プロファイルでサーバーを起動します。Linux の場合:
$JBOSS_HOME/bin/standalone.sh
$JBOSS_HOME/bin/standalone.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow Windows の場合:%JBOSS_HOME%\bin\standalone.bat
%JBOSS_HOME%\bin\standalone.batCopy to Clipboard Copied! Toggle word wrap Toggle overflow
手順15.13 トランザクションクイックスタートのビルドおよびデプロイ
- コマンドラインターミナルを開き、このクイックスタートのルートディレクトリーへ移動します。
- 以下のコマンドを入力し、アーカイブをビルドおよびデプロイします。
mvn clean package jboss-as:deploy
mvn clean package jboss-as:deployCopy to Clipboard Copied! Toggle word wrap Toggle overflow target/jboss-carmart-tx.warファイルが稼働中のサーバーインスタンスへデプロイされます。
15.7.3. トランザクション CarMart クイックスタートの表示 リンクのコピーリンクがクリップボードにコピーされました!
表示する CarMart クリックスタートがビルドおよびデプロイされている必要があります。
手順15.14 CarMart クイックスタートの表示
- アプリケーションを表示するには、ブラウザーを使用して次のリンクに移動します。
http://localhost:8080/jboss-carmart-tx
http://localhost:8080/jboss-carmart-txCopy to Clipboard Copied! Toggle word wrap Toggle overflow
15.7.4. トランザクション CarMart クイックスタートのアンデプロイ リンクのコピーリンクがクリップボードにコピーされました!
- コマンドラインターミナルで、クイックスタートのルートディレクトリーへ移動します。
- 次のようにアーカイブをアンデプロイします。
mvn jboss-as:undeploy
mvn jboss-as:undeployCopy to Clipboard Copied! Toggle word wrap Toggle overflow
15.7.5. トランザクション CarMart クイックスタートのテスト リンクのコピーリンクがクリップボードにコピーされました!
- JBoss EAP が実行されている場合は停止します。
- コマンドラインターミナルで、クイックスタートのルートディレクトリーへ移動します。
- 次のように、クイックスタートをビルドします。
mvn clean package
mvn clean packageCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下のとおり、テストを実行します。
mvn test -Puitests-jbossas -Das7home=/path/to/server
mvn test -Puitests-jbossas -Das7home=/path/to/serverCopy to Clipboard Copied! Toggle word wrap Toggle overflow
15.8. JBoss Enterprise Web Server を用いた (トランザクション) CarMart クイックスタート リンクのコピーリンクがクリップボードにコピーされました!
library-tomcat プロファイルのみを使用できます。
15.8.1. クイックスタートの前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- Java 6.0 (Java SDK 1.6) 以上
- JBoss Enterprise Application Platform 6.x または JBoss Enterprise Web Server 2.x
- Maven 3.0 以上
- Maven リポジトリーを設定します。詳細は3章Maven リポジトリーのインストールおよび使用を参照してください。
15.8.2. トランザクション CarMart クイックスタートのビルドおよびデプロイ リンクのコピーリンクがクリップボードにコピーされました!
CarMart クイックスタートをビルドおよびデプロイする前に以下の前提条件を満たしていることを確認してください。
- Maven の設定 (「クイックスタートの前提条件」を参照してください)
- JBoss Enterprise Web Server を設定するには、以下の行を
conf/tomcat-users.xmlファイルに追加します。<role rolename="manager-script"/> <user username="admin" password="admin" roles="manager-script"/><role rolename="manager-script"/> <user username="admin" password="admin" roles="manager-script"/>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 適切なクレデンシャルを使用して以下の設定情報を Maven の
settings.xmlファイルに追加し、Maven を設定します。<server> <id>tomcat</id> <username>admin</username> <password>admin</password> </server>
<server> <id>tomcat</id> <username>admin</username> <password>admin</password> </server>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - JBoss Enterprise Web Server を起動します。
- コマンドラインターミナルで、JBoss Enterprise Web Server ディレクトリーのルートへ移動します。
- 以下のコマンドの 1 つを使用し、Web プロファイルでサーバーを起動します。Linux の場合:
$TOMCAT_HOME/bin/catalina.sh run
$TOMCAT_HOME/bin/catalina.sh runCopy to Clipboard Copied! Toggle word wrap Toggle overflow Windows の場合:%TOMCAT_HOME%\bin\catalina.bat run
%TOMCAT_HOME%\bin\catalina.bat runCopy to Clipboard Copied! Toggle word wrap Toggle overflow
手順15.15 トランザクション CarMart クイックスタートのビルドおよびデプロイ
- コマンドラインターミナルで、クイックスタートのルートディレクトリーへ移動します。
- 以下のコマンドを入力し、アーカイブをビルドおよびデプロイします。
mvn -Plibrary-tomcat clean package tomcat:deploy
mvn -Plibrary-tomcat clean package tomcat:deployCopy to Clipboard Copied! Toggle word wrap Toggle overflow target/jboss-carmart-tx.warファイルが稼働中の JBoss Enterprise Web Server インスタンスへデプロイされます。
15.8.3. トランザクション CarMart クイックスタートの表示 リンクのコピーリンクがクリップボードにコピーされました!
表示する CarMart クリックスタートがビルドおよびデプロイされている必要があります。
手順15.16 CarMart クイックスタートの表示
- アプリケーションを表示するには、ブラウザーを使用して次のリンクに移動します。
http://localhost:8080/jboss-carmart-tx
http://localhost:8080/jboss-carmart-txCopy to Clipboard Copied! Toggle word wrap Toggle overflow
15.8.4. トランザクション CarMart クイックスタートのアンデプロイ リンクのコピーリンクがクリップボードにコピーされました!
- コマンドラインターミナルで、クイックスタートのルートディレクトリーへ移動します。
- 次のようにアーカイブをアンデプロイします。
mvn -Plibrary-tomcat tomcat:undeploy
mvn -Plibrary-tomcat tomcat:undeployCopy to Clipboard Copied! Toggle word wrap Toggle overflow
15.8.5. トランザクション CarMart クイックスタートのテスト リンクのコピーリンクがクリップボードにコピーされました!
- アーカイブをアンデプロイします (「トランザクション CarMart クイックスタートのアンデプロイ」を参照してください)
- JBoss Enterprise Web Server のサーバーが稼動している場合は停止します。
- コマンドラインターミナルで、クイックスタートのルートディレクトリーへ移動します。
- 次のように、クイックスタートをビルドします。
mvn clean package
mvn clean packageCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下のように、テストを実行します。
mvn test -Puitests-jbossas -Das7home=/path/to/server
mvn test -Puitests-jbossas -Das7home=/path/to/serverCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第16章 Football クイックスタートエンドポイントの例 リンクのコピーリンクがクリップボードにコピーされました!
Football Manager アプリケーションの例で使用できる機能を以下に示します。
- チームの追加
- 選手の追加
- すべてのエンティティーの削除 (チームと選手)
- すべてのチームおよび選手のリスト
JBoss Data Grid の Football クイックスタートは以下の場所にあります。
jboss-datagrid-{VERSION}-quickstarts/rest-endpointjboss-datagrid-{VERSION}-quickstarts/hotrod-endpointjboss-datagrid-{VERSION}-quickstarts/memcached-endpoint
16.1. クイックスタートの前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- Java 6.0 (Java SDK 1.6) 以上
- JBoss Enterprise Application Platform 6.x または JBoss Enterprise Web Server 2.x
- Maven 3.0 以上
- Maven リポジトリーを設定します。詳細は3章Maven リポジトリーのインストールおよび使用を参照してください。
16.2. Football アプリケーションのビルド リンクのコピーリンクがクリップボードにコピーされました!
重要
この手順の前提条件は次のとおりです。
- サポートされる最新の JBoss Data Grid リモートクライアントサーバーモードディストリビューションファイルを Red Hat から取得します。
- JBoss Data Grid および JBoss Enterprise Application Platform Maven リポジトリーがインストールされ、設定されていることを確認します。詳細は 3章Maven リポジトリーのインストールおよび使用 を参照してください。
手順16.1 Football アプリケーションのビルド
設定の追加
$JDG_HOME/standalone/configuration/にあるstandalone.xmlファイルを編集し、データソースおよび infinispan サブシステムの定義を追加します。- データソースに対する次のサブシステム定義を追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - infinispan に対する次のサブシステム定義を追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
注記
Hot Rod および REST エンドポイントはteamsという名前のキャッシュを使用し、memcached エンドポイントはデフォルトでmemcachedCacheを使用します。REST セキュリティーの無効化
デフォルトでは、standalone.xml設定ファイルはBASIC認証で REST エンドポイントを保護します。このクイックスタートは認証を実行できないため、security-domainおよびauth-methodパラメーターを削除して REST コネクターで REST 認証を無効にする必要があります。REST 認証が無効化された設定は次のようになります。<rest-connector virtual-server="default-host" cache-container="local" /><rest-connector virtual-server="default-host" cache-container="local" />Copy to Clipboard Copied! Toggle word wrap Toggle overflow セキュリティーに関する詳細は、JBoss Data Grid 『Developer Guide』 の REST 認証の章を参照してください。サブモジュール設定ファイルの編集
各サブモジュール (hotrod-endpoint、rest-endpoint、およびmemcached-endpoint) には設定ファイルが含まれています ($JDG_QUICKSTART/src/main/resources/jdg.propertiesにあります)。設定ファイルのデフォルト値を編集し、指定の JBoss Data Grid インストールに必要な値を設定します。ルートディレクトリーへ移動
コマンドラインターミナルを開き、このクイックスタートのルートディレクトリーへ移動します。アプリケーションのビルド
次のコマンドを使用して、サンプルアプリケーションのディレクトリーでサンプルアプリケーションをビルドします。mvn clean package
mvn clean packageCopy to Clipboard Copied! Toggle word wrap Toggle overflow これにより、すべての依存関係を 1 つの jar ファイルにバンドルして使いやすくする、Maven のシェードプラグインが使用されます。このファイルには{PROTOCOL}-endpoint-quickstart.jarという名前が付けられます。たとえば、REST の場合はrest-endpoint-quickstart.jarという名前になります。JBoss Data Grid の起動
次のスクリプトを実行し、JBoss Data Grid を起動します。$JDG_HOME/bin/standalone.sh
$JDG_HOME/bin/standalone.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow アプリケーションの実行
以下のコマンドを実行し、サンプルアプリケーションのディレクトリーでサンプルアプリケーションを実行します。mvn exec:java
mvn exec:javaCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第17章 Rapid Stock Market クイックスタート リンクのコピーリンクがクリップボードにコピーされました!
17.1. Rapid Stock Market クイックスタートのビルドおよび実行 リンクのコピーリンクがクリップボードにコピーされました!
手順17.1 Rapid Stock Market クイックスタートのサーバー側の設定
ルートディレクトリーへ移動
コマンドラインターミナルを開き、このクイックスタートのルートディレクトリーへ移動します。- クライアントとサーバーに共通するクラスを jar ファイルにパッケージ化して、JBoss Data Grid のサーバーモジュールをビルドします。
mvn clean package -Pprepare-server-module
$ mvn clean package -Pprepare-server-moduleCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新しい jar ファイルを、サーバーモジュールに似たディレクトリー構造に置きます。 - サーバーモジュールをサーバーにインストールします。
- 準備したモジュールをサーバーへコピーします。
cp -r target/modules ${JDG_SERVER_HOME}/$ cp -r target/modules ${JDG_SERVER_HOME}/Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下を
modules/system/layers/base/org/infinispan/commons/main/module.xmlファイルへ追加し、新しいモジュールをorg.infinispan.commonsモジュールの依存関係として追加します。<module name="org.infinispan.quickstart.compatibility.common"/>
<module name="org.infinispan.quickstart.compatibility.common"/>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- アプリケーションをビルドします。
mvn clean package
$ mvn clean packageCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 適切な設定ファイルを使用するように JBoss Data Grid を設定します。
- 互換性モードのサンプル設定ファイルを、JBoss Data Grid サーバーが見つけて使用できる場所にコピーします。
cp ${JDG_SERVER_HOME}/docs/examples/configs/standalone-compatibility-mode.xml ${JDG_SERVER_HOME}/standalone/configuration$ cp ${JDG_SERVER_HOME}/docs/examples/configs/standalone-compatibility-mode.xml ${JDG_SERVER_HOME}/standalone/configurationCopy to Clipboard Copied! Toggle word wrap Toggle overflow rest-connector要素からsecurity-domainおよびauth-method属性を削除し、REST セキュリティーを無効にします。
- JBoss Data Grid サーバーを互換性モードで起動します。
${JDG_SERVER_HOME}/bin/standalone.sh -c standalone-compatibility-mode.xml$ ${JDG_SERVER_HOME}/bin/standalone.sh -c standalone-compatibility-mode.xmlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
手順17.2 Rapid Stock Market クイックスタートのクライアント側の設定
- 別のコマンドラインターミナルウインドウで、サーバー側アプリケーションを起動します。
mvn exec:java -Pclient
$ mvn exec:java -PclientCopy to Clipboard Copied! Toggle word wrap Toggle overflow - クライアントアプリケーションのヘルプメニューにある手順を使用します。
第18章 Cluster App クイックスタート リンクのコピーリンクがクリップボードにコピーされました!
- JBoss EAP クラスターがない状態で JBoss Data Grid のクラスター化キャッシュを作成および使用する方法。
- JBoss EAP クラスターが Infinispan クラスターから独立している設定。
- 1 つの JBoss EAP インスタンスは、異なる JBoss Data Grid クラスターのメンバーである JBoss Data Grid キャッシュを使用できる。
- JBoss Data Grid API を使用したキャッシュ設定のプログラミング。
- 管理アプリケーション App1Cache で行われるファイルベースの設定。
- CDI を使用したキャッシュマネージャーのインジェクト。
18.1. EAP Cluster App の前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- Java 6.0 (Java SDK 1.6) 以上
- JBoss Enterprise Application Platform 6.1 以降
- Maven 3.0 以上
- Maven リポジトリーの設定。詳細は 3章Maven リポジトリーのインストールおよび使用を参照してください。
- JBoss Data Grid モジュールが JBoss EAP サーバーにインストールされている必要があります。
18.2. アプリケーションサーバーインスタンスの起動 リンクのコピーリンクがクリップボードにコピーされました!
手順18.1 スタンドアロンモードでのサーバーの設定および起動
- コピーする JBoss EAP のインスタンスを準備します。
jboss-datagrid-${version}-eap-modules-library.zipを展開します。- モジュールをサーバーモジュールディレクトリーにコピーします。
- Linux の場合:
cp -a jboss-datagrid-${version}-eap-modules-library/modules EAP_HOMEcp -a jboss-datagrid-${version}-eap-modules-library/modules EAP_HOMECopy to Clipboard Copied! Toggle word wrap Toggle overflow Windows の場合:xcopy /e/i/f jboss-datagrid-${version}-eap-modules-library/modules EAP_HOME\modulesxcopy /e/i/f jboss-datagrid-${version}-eap-modules-library/modules EAP_HOME\modulesCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- EJB にアクセスするため、ユーザーを各サーバーに追加します。
- Linux の場合: EAP_HOME/bin/add-user.sh -a -u quickuser -p quick-123
- Windows の場合: EAP_HOME\bin\add-user.bat -a -u quickuser -p quick-123
- 準備した JBoss EAP サーバーを EAP_HOME[1-4] というラベルの 4 つディレクトリーにそれぞれコピーします。
- ノードごとに 1 つのコマンドラインターミナルを開き、JBoss EAP サーバーディレクトリーのルートに移動します。
- 以下のコマンドを実行して、4 つの JBoss EAP サーバーすべてを起動します。
- Linux の場合:
EAP_HOME1/bin/standalone.sh -Djboss.node.name=node1 EAP_HOME2/bin/standalone.sh -Djboss.node.name=node2 -Djboss.socket.binding.port-offset=100 EAP_HOME3/bin/standalone.sh -Djboss.node.name=node3 -Djboss.socket.binding.port-offset=200 -c standalone-ha.xml EAP_HOME4/bin/standalone.sh -Djboss.node.name=node4 -Djboss.socket.binding.port-offset=300 -c standalone-ha.xml
EAP_HOME1/bin/standalone.sh -Djboss.node.name=node1 EAP_HOME2/bin/standalone.sh -Djboss.node.name=node2 -Djboss.socket.binding.port-offset=100 EAP_HOME3/bin/standalone.sh -Djboss.node.name=node3 -Djboss.socket.binding.port-offset=200 -c standalone-ha.xml EAP_HOME4/bin/standalone.sh -Djboss.node.name=node4 -Djboss.socket.binding.port-offset=300 -c standalone-ha.xmlCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Windows の場合:
EAP_HOME1\bin\standalone.bat -Djboss.node.name=node1 EAP_HOME2\bin\standalone.bat -Djboss.node.name=node2 -Djboss.socket.binding.port-offset=100 EAP_HOME3\bin\standalone.bat -Djboss.node.name=node3 -Djboss.socket.binding.port-offset=200 -c standalone-ha.xml EAP_HOME4\bin\standalone.bat -Djboss.node.name=node4 -Djboss.socket.binding.port-offset=300 -c standalone-ha.xml
EAP_HOME1\bin\standalone.bat -Djboss.node.name=node1 EAP_HOME2\bin\standalone.bat -Djboss.node.name=node2 -Djboss.socket.binding.port-offset=100 EAP_HOME3\bin\standalone.bat -Djboss.node.name=node3 -Djboss.socket.binding.port-offset=200 -c standalone-ha.xml EAP_HOME4\bin\standalone.bat -Djboss.node.name=node4 -Djboss.socket.binding.port-offset=300 -c standalone-ha.xmlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- EJB のサーバー対サーバーの呼び出しを使用するよう、node2 (AppOne) の設定を追加します。
- Linux の場合:
EAP_HOME2/bin/jboss-cli.sh -c --controller=localhost:10099 --file=QUICKSTART_HOME/install-appOne-standalone.cli
EAP_HOME2/bin/jboss-cli.sh -c --controller=localhost:10099 --file=QUICKSTART_HOME/install-appOne-standalone.cliCopy to Clipboard Copied! Toggle word wrap Toggle overflow Windows の場合:EAP_HOME2\bin\jboss-cli.bat -c --controller=localhost:10099 --file=QUICKSTART_HOME/install-appOne-standalone.cli
EAP_HOME2\bin\jboss-cli.bat -c --controller=localhost:10099 --file=QUICKSTART_HOME/install-appOne-standalone.cliCopy to Clipboard Copied! Toggle word wrap Toggle overflow
手順18.2 ドメインモードでのサーバーの設定および起動
- JBoss EAP のフレッシュインストールを EAP_HOME にコピーします。
jboss-datagrid-${version}-eap-modules-library.zipを展開します。- モジュールをサーバーモジュールディレクトリーにコピーします。
- Linux の場合:
cp -a jboss-datagrid-${version}-eap-modules-library/modules EAP_HOMEcp -a jboss-datagrid-${version}-eap-modules-library/modules EAP_HOMECopy to Clipboard Copied! Toggle word wrap Toggle overflow - Windows の場合:
xcopy /e/i/f jboss-datagrid-${version}-eap-modules-library/modules EAP_HOME\modulesxcopy /e/i/f jboss-datagrid-${version}-eap-modules-library/modules EAP_HOME\modulesCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- コマンドラインターミナルを開き、JBoss EAP のルートへ移動します。
- ユーザーを追加します。
- Linux の場合:
EAP_HOME/bin/add-user.sh -a -u quickuser -p quick-123
EAP_HOME/bin/add-user.sh -a -u quickuser -p quick-123Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Windows の場合:
EAP_HOME\bin\add-user.bat -a -u quickuser -p quick-123
EAP_HOME\bin\add-user.bat -a -u quickuser -p quick-123Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 以下はドメインを起動するコマンドになります。
- Linux の場合:
EAP_HOME/bin/domain.sh
EAP_HOME/bin/domain.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Windows の場合:
EAP_HOME\bin\domain.bat
EAP_HOME\bin\domain.batCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- クイックスタートの設定を適用します。ドメインには 4 つのノードが含まれるようになります。
- Linux の場合:
EAP_HOME/bin/jboss-cli.sh -c --file=QUICKSTART_HOME/install-domain.cli
EAP_HOME/bin/jboss-cli.sh -c --file=QUICKSTART_HOME/install-domain.cliCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Windows の場合:
EAP_HOME\bin\jboss-cli.bat -c --file=QUICKSTART_HOME/install-domain.cli
EAP_HOME\bin\jboss-cli.bat -c --file=QUICKSTART_HOME/install-domain.cliCopy to Clipboard Copied! Toggle word wrap Toggle overflow
18.3. アプリケーションのビルド リンクのコピーリンクがクリップボードにコピーされました!
手順18.3 アプリケーションのビルド
- コマンドラインターミナルを開き、このクイックスタートのルートディレクトリーへ移動します。
- 以下のコマンドを実行し、アーカイブをビルドします。
mvn clean install
mvn clean installCopy to Clipboard Copied! Toggle word wrap Toggle overflow - アプリケーションを適切なサーバーへコピーします。
- Linux の場合:
cp adminApp/ear/target/jboss-eap-application-adminApp.ear EAP_HOME1/standalone/deployments cp appOne/ear/target/jboss-eap-application-AppOne.ear EAP_HOME2/standalone/deployments cp appTwo/ear/target/jboss-eap-application-AppTwo.ear EAP_HOME3/standalone/deployments cp appTwo/ear/target/jboss-eap-application-AppTwo.ear EAP_HOME4/standalone/deployments
cp adminApp/ear/target/jboss-eap-application-adminApp.ear EAP_HOME1/standalone/deployments cp appOne/ear/target/jboss-eap-application-AppOne.ear EAP_HOME2/standalone/deployments cp appTwo/ear/target/jboss-eap-application-AppTwo.ear EAP_HOME3/standalone/deployments cp appTwo/ear/target/jboss-eap-application-AppTwo.ear EAP_HOME4/standalone/deploymentsCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Windows の場合:
copy adminApp\ear\target\jboss-eap-application-adminApp.ear EAP_HOME1\standalone\deployments copy appOne\ear\target\jboss-eap-application-AppOne.ear EAP_HOME2\standalone\deployments copy appTwo\ear\target\jboss-eap-application-AppTwo.ear EAP_HOME3\standalone\deployments copy appTwo\ear\target\jboss-eap-application-AppTwo.ear EAP_HOME4\standalone\deployments
copy adminApp\ear\target\jboss-eap-application-adminApp.ear EAP_HOME1\standalone\deployments copy appOne\ear\target\jboss-eap-application-AppOne.ear EAP_HOME2\standalone\deployments copy appTwo\ear\target\jboss-eap-application-AppTwo.ear EAP_HOME3\standalone\deployments copy appTwo\ear\target\jboss-eap-application-AppTwo.ear EAP_HOME4\standalone\deploymentsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- ドメインモードが使用されている場合は、以下の方法でアプリケーションをデプロイします。
- Linux の場合:
EAP_HOME/bin/jboss-cli.sh -c --file=QUICKSTART_HOME/deploy-domain.cli
EAP_HOME/bin/jboss-cli.sh -c --file=QUICKSTART_HOME/deploy-domain.cliCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Windows の場合:
EAP_HOME\bin\jboss-cli.bat -c --file=QUICKSTART_HOME/deploy-domain.cli
EAP_HOME\bin\jboss-cli.bat -c --file=QUICKSTART_HOME/deploy-domain.cliCopy to Clipboard Copied! Toggle word wrap Toggle overflow
18.4. アプリケーションの実行 リンクのコピーリンクがクリップボードにコピーされました!
この例では、AdminServer および AppOneServer のいずれも JBoss EAP レベルではクラスター化されません。JBoss Data Grid インスタンスのみがアプリケーションによる設定どおりにクラスター化されます。このアプリケーションによって以下が実行されます。
AdminAppを使用してApp1キャッシュに値を追加し、AppOneのサーバーインスタンスへレプリケートされることを検証します。App2キャッシュへ値を追加した後、トランザクションをロールバックし、値がロールバック後にキャッシュへ追加されないことを確認します。
手順18.4 AdminClient アプリケーションの実行
- コマンドラインターミナルを開き、
$QUICKSTART_HOME/client/ディレクトリーへ移動します。 - 以下のコマンドを実行します。
mvn -Dexec.mainClass=org.jboss.as.quickstarts.datagrid.eap.app.AdminClient exec:java
mvn -Dexec.mainClass=org.jboss.as.quickstarts.datagrid.eap.app.AdminClient exec:javaCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記
デフォルトでは、アプリケーションはlocalhost:4447およびlocalhost:4547(AdminHostおよびAppOneHost用) へアクセスしようとします。この動作を変更するには、以下のパラメーターをmvnコマンドに追加します。-Dexec.args="AdminHost AdminPort AppOneHost AppOnePort"
-Dexec.args="AdminHost AdminPort AppOneHost AppOnePort"Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下のテキストがコンソールに表示されることを確認します。予期せぬ結果の場合は例外が発生します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
この例では、JBoss EAP および JBoss Data Grid キャッシュの両方がクラスター化されますが、この例の目的はクラスターはそれぞれ独立していることを実証することです。JBoss Data Grid クラスターは JBossEAP サーバーとは異なる JGroups 実装を使用できます。この例は以下を行います。
AdminAppを使用してApp2キャッシュへ値を追加します。AppOneにアクセスして、EJB 呼び出しがクラスター化され、両方のAppTwoインスタンスが使用されることを実証します。
手順18.5 AppOneClient の実行
- コマンドラインターミナルを開き、
$QUICKSTART_HOME/client/ディレクトリーへ移動します。 - 以下のコマンドを実行します。
mvn -Dexec.mainClass=org.jboss.as.quickstarts.datagrid.eap.app.AppOneClient exec:java
mvn -Dexec.mainClass=org.jboss.as.quickstarts.datagrid.eap.app.AppOneClient exec:javaCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下のテキストがコンソールに表示されることを確認します。予期せぬ結果の場合は例外が発生します。
Add a value to App2Cache with the AdminApp Access the App2Cache from the AppOneServer by using the clustered EJB@AppTwoServer success : received the following node names for EJB invocation : [node3, node4]Add a value to App2Cache with the AdminApp Access the App2Cache from the AppOneServer by using the clustered EJB@AppTwoServer success : received the following node names for EJB invocation : [node3, node4]Copy to Clipboard Copied! Toggle word wrap Toggle overflow
18.5. アプリケーションのデバッグ リンクのコピーリンクがクリップボードにコピーされました!
mvn dependency:sources mvn dependency:resolve -Dclassifier=javadoc
mvn dependency:sources
mvn dependency:resolve -Dclassifier=javadoc
第19章 camel-jbossdatagrid-fuse クイックスタート リンクのコピーリンクがクリップボードにコピーされました!
child1 コンテナーにある local_cache_producer バンドルおよび child2 コンテナーにある local_cache_consumer バンドルの 2 つのバンドルを Fuse にデプロイします。各バンドルの詳細は次のとおりです。
local_cache_producer:「id, firstName, lastName, age」の形式を取る受信 CSV ファイルのフォルダー (/tmp/incoming) をスキャンします。ファイルが指定形式のエントリーとドロップされた場合、各エントリーが読み取られ、Person POJO に変換された後、データグリッドに保存されます。local_cache_consumer:RESTful インターフェースを使用して POJO をクエリーできるようにし、指定のキーのデータグリッドに保存された Person POJO の JSON 表現を受け取れるようにします。
infinispan.xml および jgroups.xml ファイルで同じ設定が使用されるため、コンシューマーはプロデューサーによって追加されたものを抽出できます。infinispan.xml ファイルは camel-cache という名前の REPL (レプリケートされた) キャッシュを定義し、コンシューマーとプロデューサーの両方がこのキャッシュと対話します。
19.1. クイックスタートの前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- Java 7.0 (Java SDK 1.7) 以上
- Maven 3.0 以上
- JBoss Fuse 6.2.0 以上
- Maven リポジトリーを設定します。詳細は3章Maven リポジトリーのインストールおよび使用を参照してください。
19.2. 設定 リンクのコピーリンクがクリップボードにコピーされました!
- Red Hat カスタマーポータルより、Fuse フルインストールバイナリーをダウンロードします。
- 以下のコマンドを実行し、CSV ファイルが置かれるフォルダーへのパスをエクスポートします。
export incomingFolderPath=[Full path to the CSV folder]
export incomingFolderPath=[Full path to the CSV folder]Copy to Clipboard Copied! Toggle word wrap Toggle overflow - クイックスタートのルートディレクトリーで以下のコマンドを実行します。
mvn clean install -DincomingFolderPath=$incomingFolderPath
mvn clean install -DincomingFolderPath=$incomingFolderPathCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 同じシェルで
FUSE_INSTALL_PATHおよびFUSE_BINARY_PATH変数を設定します。export FUSE_INSTALL_PATH = [Full path to the folder where Fuse will be installed] export FUSE_BINARY_PATH = [Full path to the Fuse zip file downloaded in step 1]
export FUSE_INSTALL_PATH = [Full path to the folder where Fuse will be installed] export FUSE_BINARY_PATH = [Full path to the Fuse zip file downloaded in step 1]Copy to Clipboard Copied! Toggle word wrap Toggle overflow - JBoss Fuse 6.2.1 で camel-jbossdatagrid-fuse クイックスタートを実行する場合、
setupEverythingOnFuse.shスクリプトに以下の変更を実行する必要があります。変更しない場合は、次の手順に進みます。- 6.2.1 コンポーネントを参照するようにエクスポートされる Fuse のバージョンを変更します。
- コンテナー名を
child1に更新します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 環境変数の設定後、クイックスタートのルートディレクトリーから以下のコマンドを実行します。
./setupEverythingOnFuse.sh
./setupEverythingOnFuse.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow - スクリプトの完了後、エラーなしで Fuse Hawtio Console へアクセスできることを確認します。このコンソールは、デフォルトでは
http://127.0.0.1:8181/hawtio/index.html#/loginで実行され、ユーザー名とパスワードは共にadminになります。 http://127.0.0.1:8181/hawtio/index.html#/fabric/containersの Fuse Fabric にアクセスし、child1およびchild2コンテナーの両方が作成されたことを確認します。両方のコンテナーは、準備ができたことを示す緑色で強調表示される必要があります。
19.3. camel-jbossdatagrid-fuse クイックスタートのテスト リンクのコピーリンクがクリップボードにコピーされました!
local_cache_producer をテストするには、前に指定した incomingFolderPath で CSV ファイルを作成します。以下のコマンドを実行すると、単一のエントリーを持つファイルが作成されます。
echo "1,Bill,Gates,59" > $incomingFolderPath/sample.csv
echo "1,Bill,Gates,59" > $incomingFolderPath/sample.csv
local_cache_consumer をテストするには、Web ブラウザーで http://127.0.0.1:8282/cache/get/1 に移動します。これにより、上記で指定した 1 を ID として持つエントリーのキャッシュがクエリーされます。作成された POJO の以下の JSON が返されるはずです。
{"id":1,"firstName":"Bill","lastName":"Gates","age":59}
{"id":1,"firstName":"Bill","lastName":"Gates","age":59}
パート VII. Red Hat JBoss Data Grid のアンインストール リンクのコピーリンクがクリップボードにコピーされました!
第20章 Red Hat JBoss Data Grid の削除 リンクのコピーリンクがクリップボードにコピーされました!
20.1. Linux システムから Red Hat JBoss Data Grid を削除 リンクのコピーリンクがクリップボードにコピーされました!
警告
手順20.1 Linux システムから JBoss Data Grid を削除
サーバーのシャットダウン
JBoss Data Grid サーバーがシャットダウンしたことを確認します。JBoss Data Grid のホームディレクトリーへの移動
コマンドラインを使用して、$JDG_HOMEフォルダーより 1 つ上の階層へ移動します。JBoss Data Grid のホームディレクトリーの削除
ターミナルで以下のコマンドを入力し、JBoss Data Grid を削除します。$JDG_HOMEは JBoss Data Grid ホームディレクトリーの名前に置き換えます。rm -Rf $JDG_HOME
$ rm -Rf $JDG_HOMECopy to Clipboard Copied! Toggle word wrap Toggle overflow
20.2. Windows システムから Red Hat JBoss Data Grid を削除 リンクのコピーリンクがクリップボードにコピーされました!
警告
手順20.2 Windows システムから JBoss Data Grid を削除
サーバーのシャットダウン
JBoss Data Grid サーバーがシャットダウンしたことを確認します。JBoss Data Grid のホームディレクトリーへの移動
Windows Explorer を使用して、$JDG_HOMEフォルダーが存在するディレクトリーへ移動します。JBoss Data Grid のホームディレクトリーの削除
$JDG_HOMEフォルダーを選択し、削除します。
付録A 参考資料 リンクのコピーリンクがクリップボードにコピーされました!
A.1. キーバリューペアについて リンクのコピーリンクがクリップボードにコピーされました!
- キーは特定のデータエントリーに一意です。関連するエントリーのエントリーデータ属性から構成されます。
- バリュー (値) は、キーによって割り当てられ、キーによって識別されるデータです。
付録B Maven の設定情報 リンクのコピーリンクがクリップボードにコピーされました!
B.1. Nuxus を用いた JBoss Enterprise Application Platform リポジトリーのインストール リンクのコピーリンクがクリップボードにコピーされました!
手順B.1 JBoss Enterprise Application Platform 6 の Maven リポジトリー ZIP アーカイブのダウンロード
- Web ブラウザーを開き、URL https://access.redhat.com/jbossnetwork/restricted/listSoftware.html?product=appplatform にアクセスします。
- リストに Application Platform 6 Maven Repository があることを確認します。
- をクリックし、リポジトリーが含まれる ZIP ファイルをダウンロードします。
- 希望のディレクトリーにファイルを展開します。
手順B.2 Nexus Maven リポジトリーマネージャーを使用した JBoss Enterprise Application Platform 6 Maven リポジトリーの追加
- 管理者として Nexus にログインします。
- リポジトリーマネージャーの左側にある → メニューより Repositories セクションを選択します。
- Add... ドロップダウンメニューをクリックし、Hosted Repository を選択します。
- 新しいリポジトリーの名前と ID を指定します。
- Override Local Storage Location フィールドに展開されていないリポジトリーのパスを入力します。
- リポジトリーグループでアーティファクトを使用できる必要がある場合は設定を続行します。必要がない場合はこの手順を続行しないでください。
- リポジトリーグループを選択します。
- Configure タブをクリックします。
- Available Repositories リストにある新しい JBoss Maven リポジトリーを左側の Ordered Group Repositories へドラッグします。
注記
このリストの順番により Maven アーティファクトの検索優先度が決定されます。
Nexus Maven リポジトリーマネージャーを使用してリポジトリーが設定されます。
B.2. Maven リポジトリーの設定例 リンクのコピーリンクがクリップボードにコピーされました!
example-settings.xml という名前のサンプル Maven リポジトリーファイルを利用できます。以下は、example-settings.xml ファイルに関連する箇所が含まれる抜粋になります。
例B.1 Maven リポジトリーの設定例
JDG_REPOSITORY_URL を確認できます。
B.3. JBoss Data Grid リポジトリーの URL の判別 リンクのコピーリンクがクリップボードにコピーされました!
- オンラインの JBoss Data Grid Maven リポジトリーを使用するには、URL (https://maven.repository.redhat.com/ga/) を指定します。
- ローカルファイルシステムにインストールされた JBoss Data Grid Maven リポジトリーを使用するには、リポジトリーをダウンロードし、URL のローカルファイルパスを使用する必要があります (例:
file:///path/to/repo/jboss-datagrid-7.0.0-maven-repository/maven-repository/)。 - Nexus リポジトリーマネージャーを使用して JBoss Data Grid Maven リポジトリーをインストールする場合、URL は https://intranet.acme.com/nexus/content/repositories/jboss-datagrid-7.0.0-maven-repository/maven-repository/ のようになります。
付録C 改訂履歴 リンクのコピーリンクがクリップボードにコピーされました!
| 改訂履歴 | ||||
|---|---|---|---|---|
| 改訂 7.0.0-2 | Mon 18 Jul 2016 | |||
| ||||
| 改訂 7.0.0-0 | Tue 19 Apr 2016 | |||
| ||||