51
Red Hat JBoss Data Grid 6 スタートガイド JBoss Data Grid 6 の入門ガイド エディッション 1 Last Updated: 2017-11-21

Red Hat JBoss Data Grid 6 スタートガイド

  • Upload
    lelien

  • View
    225

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Red Hat JBoss Data Grid 6 スタートガイド

Red Hat JBoss Data Grid 6

スタートガイド

JBoss Data Grid 6 の入門ガイドエディッション 1

Last Updated: 2017-11-21

Page 2: Red Hat JBoss Data Grid 6 スタートガイド
Page 3: Red Hat JBoss Data Grid 6 スタートガイド

Red Hat JBoss Data Grid 6 スタートガイド

JBoss Data Grid 6 の入門ガイドエディッション 1

Misha Husnain AliRed Hat Engineering Content [email protected]

David Le SageRed Hat Engineering Content [email protected]

B LongRed Hat Engineering Content [email protected]

Gemma SheldonRed Hat Engineering Content [email protected]

Misty [email protected]

Page 4: Red Hat JBoss Data Grid 6 スタートガイド

法律上の通知法律上の通知

Copyright © 2014 Red Hat, Inc.

This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0Unported License. If you distribute this document, or a modified version of it, you must provideattribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hattrademarks must be removed.

Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert,Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.

Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinitylogo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and othercountries.

Linux ® is the registered trademark of Linus Torvalds in the United States and other countries.

Java ® is a registered trademark of Oracle and/or its affiliates.

XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United Statesand/or other countries.

MySQL ® is a registered trademark of MySQL AB in the United States, the European Union andother countries.

Node.js ® is an official trademark of Joyent. Red Hat Software Collections is not formally related toor endorsed by the official Joyent Node.js open source or commercial project.

The OpenStack ® Word Mark and OpenStack logo are either registered trademarks/service marksor trademarks/service marks of the OpenStack Foundation, in the United States and other countriesand are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed orsponsored by the OpenStack Foundation, or the OpenStack community.

All other trademarks are the property of their respective owners.

概要概要

本ガイドでは JBoss Data Grid 6 における初歩的な概念や操作について説明します。

Page 5: Red Hat JBoss Data Grid 6 スタートガイド

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

目次目次

前書き前書き

第第1章章 JBOSS DATA GRID 6 の紹介の紹介1.1. JBOSS DATA GRID について1.2. JBOSS DATA GRID の使用モード1.3. JBOSS DATA GRID の利点1.4. JBOSS DATA GRID のバージョン情報1.5. JBOSS DATA GRID のキャッシュアーキテクチャー1.6. JBOSS DATA GRID の API

第第2章章 JBOSS DATA GRID の要件の要件2.1. JBOSS DATA GRID の前提条件2.2. JAVA VIRTUAL MACHINES (JVM)

2.2.1. Java 仮想マシン2.2.2. Red Hat Enterprise Linux への OpenJDK のインストール

第第3章章 JBOSS DATA GRID のダウンロードおよびインストールのダウンロードおよびインストール3.1. JBOSS DATA GRID のダウンロード3.2. RED HAT カスタマーポータルについて3.3. チェックサムの検証3.4. ダウンロードされたファイルの検証3.5. JBOSS DATA GRID のインストール3.6. RED HAT のドキュメントサイト

第第4章章 MAVEN リポジトリのインストールおよび使用リポジトリのインストールおよび使用4.1. MAVEN について4.2. MAVEN のダウンロード4.3. JBOSS DATA GRID の MAVEN リポジトリについて4.4. MAVEN リポジトリのインストール

4.4.1. Maven リポジトリのインストールオプション4.4.2. ローカルファイルシステムリポジトリのインストール4.4.3. Apache Web Sever のインストール4.4.4. Maven リポジトリマネージャーのインストール

4.5. MAVEN レポジトリの設定4.5.1. Maven リポジトリの設定4.5.2. Maven リポジトリリンクの設定4.5.3. Maven リポジトリの設定例

第第5章章 新規新規 JBOSS DATA GRID プロジェクトの作成プロジェクトの作成5.1. プロジェクトへの依存関係の追加5.2. プロジェクトへのプロファイルの追加5.3. JBOSS DATA GRID の実行

第第6章章 埋め込みキャッシュとして埋め込みキャッシュとして JBOSS DATA GRID を実行するを実行する6.1. クイックスタートファイルの場所6.2. クイックスタートクラスにおける MAIN メソッドの作成6.3. 新しい REMOTECACHEMANAGER の作成6.4. デフォルトキャッシュの使用

6.4.1. キャッシュのデータ追加および削除6.4.2. キー値の追加と置換6.4.3. データライフの調整6.4.4. デフォルトのデータ期限

6.5. 名前付きキャッシュの使用

3

4444567

88888

99999

1010

12121212121212131313131314

16161617

19191920202021212122

目次目次

1

Page 6: Red Hat JBoss Data Grid 6 スタートガイド

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6.5.1. 名前付きキャッシュの使用6.5.2. プログラムを用いた名前付きキャッシュの登録6.5.3. 設定ファイルのロード6.5.4. XML を用いた名前付きキャッシュの登録

第第7章章 埋め込みデータグリッドとして埋め込みデータグリッドとして JBOSS DATA GRID を使用するを使用する7.1. クイックスタートファイルの場所7.2. 埋め込みデータグリッドとして JBOSS DATA GRID を実行する7.3. JGROUPS チャネルの共有7.4. クラスターにおける JBOSS DATA GRID の実行

7.4.1. プロジェクトのコンパイル7.4.2. レプリケーションモードでクラスター化されたキャッシュを実行する7.4.3. ディストリビューションモードでクラスター化されたキャッシュの実行7.4.4. クラスターの設定

7.4.4.1. クラスターの設定7.4.4.2. デフォルトクラスター設定の追加7.4.4.3. デフォルトクラスター設定のカスタマイズ7.4.4.4. レプリケートされたデータグリッドの設定7.4.4.5. 分散されたデータグリッドの設定

第第8章章 エンドポイントのないノードとしてエンドポイントのないノードとして JBOSS DATA GRID を実行するを実行する8.1. エンドポイントについて8.2. エンドポイントのないノードの利点8.3. エンドポイントのないノードの設定例8.4. エンドポイントのないノードの設定

第第9章章 JBOSS DATA GRID のの CARMART クイックスタートクイックスタート9.1. CARMART クイックスタートについて9.2. CARMART トランザクションクイックスタートについて9.3. CARMART とトランザクションクイックスタートの違い9.4. JBOSS APPLICATION SERVER を用いた CARMART クイックスタート

9.4.1. CarMart クイックスタートを JBoss Application Server へビルドする9.4.2. CarMart クイックスタートを JBoss Application Server へデプロイする9.4.3. CarMart クイックスタートを JBoss Application Server からアンデプロイする

9.5. TOMCAT を用いた CARMART クイックスタート9.5.1. CarMart クイックスタートの Tomcat へのビルド9.5.2. CarMart クイックスタートの Tomcat へのデプロイ9.5.3. Tomcat の CarMart クイックスタートのアンデプロイ

9.6. リモートクライアントサーバーモードの CARMART クイックスタート9.6.1. リモートクライアントサーバーモードでの CarMart クイックスタートのビルド9.6.2. リモートクライアントサーバーモードでの CarMart クイックスタートのデプロイ9.6.3. リモートクライアントサーバーモードでの CarMart クイックスタートのアンデプロイ

第第10章章 FOOTBALL クイックスタートエンドポイントの例クイックスタートエンドポイントの例10.1. FOOTBALL クイックスタートエンドポイントの例について10.2. FOOTBALL アプリケーションのビルド

第第11章章 JBOSS DATA GRID の削除の削除11.1. LINUX システムより JBOSS DATA GRID を削除する11.2. WINDOWS システムより JBOSS DATA GRID を削除する

付録付録A 参照参照A.1. キーバリューペアについて

付録付録B 改訂履歴改訂履歴

22222223

2424242424242525262626262728

3030303030

32323233333334343535353636363838

404040

444444

4646

47

スタートガイドスタートガイド

2

Page 7: Red Hat JBoss Data Grid 6 スタートガイド

前書き

前書き前書き

3

Page 8: Red Hat JBoss Data Grid 6 スタートガイド

第1章 JBOSS DATA GRID 6 の紹介

1.1. JBOSS DATA GRID について

JBoss Data Grid は分散インメモリーデータグリッドで、次の機能を提供します。

スキーマレスなキーバリューストア – Red Hat JBoss Data Grid は、固定のデータモデルを用いずに異なるオブジェクトを格納するフレキシブルな NoSQL データベースです。

グリッドベースのデータストレージ – Red Hat JBoss Data Grid は、複数のノードにまたがったデータのレプリケートが簡単に行えるよう設計されています。

エラスティックスケーリング – シンプルに混乱を起こさずノードの追加と削除を行えます。

複数のアクセスプロトコル – REST、Memcached、Hot Rod または簡単なマップのような APIを使用して簡単にデータグリッドへアクセスできます。

バグを報告する

1.2. JBOSS DATA GRID の使用モード

JBoss Data Grid には 2 つの使用モードがあります。

リモートクライアントサーバーモードリモートクライアントサーバーモード

リモートクライアントサーバーモードは、管理分散されたクラスター化可能なデータグリッドサーバーを提供します。アプリケーションは Hot Rod、Memcached、または REST クライアント API を使用して、データグリッドにリモートアクセスできます。

ライブラリーモードライブラリーモード

ライブラリーモードは、カスタムランタイム環境の構築やデプロイに必要なすべてのバイナリを提供します。ライブラリー使用モードでは、分散クラスターの 1 つのノードへローカルアクセスでできます。この使用モードでは、使用されるコンテナの仮想マシン内でアプリケーションがデータグリッドの機能にアクセスできます。サポート対象のコンテナには、Tomcat 7 や JBoss EnterpriseApplication Platform 6 などがあります。

バグを報告する

1.3. JBOSS DATA GRID の利点

JBoss Data Grid の利点の利点

巨大なヒープと高可用性巨大なヒープと高可用性

JBoss Data Grid では、パフォーマンス向上のためにアプリケーションがデータのルックアップ処理のほとんどを大型のサーバーデータベースへ委譲する必要がありません。JBoss Data Grid は、現在のエンタープライズアプリケーションの大部分に存在するボトルネックを完全に取り除きます。

例例1.1 巨大なヒープと高可用性の例巨大なヒープと高可用性の例

100 個のブレードサーバーを持つグリッドの例として、各ノードがレプリケートされたキャッシュ専用の 2 GB のストレージ領域を持っているとします。この場合、グリッドの全データが 2GB のデータのコピーとなります。逆に、分散グリッド (データ項目ごとに 1 つのコピーが必要

スタートガイドスタートガイド

4

Page 9: Red Hat JBoss Data Grid 6 スタートガイド

であることを仮定した場合) では、メモリーがサポートする仮想ヒープに 100 GB のデータが含まれます。グリッドのどこからでも効果的にこのデータへアクセスできるようになります。サーバーに障害が発生した場合、グリッドによって損失データの新しいコピーが即座に作成され、グリッドの運用サーバーに置かれます。

スケーラビリティースケーラビリティー

JBoss Data Grid ではデータが均一に分散されるため、グリッドサイズの唯一の上限はネットワーク上でのグループ通信になります。ネットワークのグループ通信は最小限で、新規ノードの発見のみに制限されています。すべてのデータアクセスパターンは、ノードによるピアツーピア接続を介した直接通信を許可するため、スケーラビリティーの更なる向上を容易にします。JBoss Data Grid のクラスターは、リアルタイムでスケールアップまたはスケールダウンすることが可能ですが、インフラストラクチャーの再起動を必要としません。スケーリングポリシーへの変更をリアルタイムで適用できるため、非常にフレキシブルな環境を実現することができます。

データ分散データ分散

JBoss Data Grid は一貫したハッシュアルゴリズムを使用して、クラスターにおけるキーの場所を判断します。一貫したハッシュに関する利点には次のようなものがあります。

コスト効果

速度

更なるメタデータやネットワークトラフィックの必要がない、決定論的なキーの場所

データ分散は、永続性とフォールトトラレンスを提供するため、余分のない十分なコピーがクラスター内に確実に存在するようにします。余分なコピーは環境のスケーラビリティーを低下させます。

永続性永続性

JBoss Data Grid は、CacheStore インターフェースと複数の高パフォーマンス実装 (JDBC キャッシュストアやファイルシステムベースのキャッシュストアなど) を公開します。キャッシュストアはキャッシュをシードし、関連データを安全に保持し、破損しないようにします。また、キャッシュストアはプロセスがメモリー不足になると、データをディスクへオーバーフローします。

言語のバインディング言語のバインディング

JBoss Data Grid は、既に多くの一般的なプログラミング言語向けに使用されている Memcached プロトコルと、Hot Rod と呼ばれる最適化された JBoss Data Grid 固有のプロトコルの両方をサポートします。そのため、Java Data Grid は Java に限定されず、すべての主要な Web サイトやアプリケーションに使用できます。

管理管理

数百個またはそれ以上のサーバーが存在するグリッド環境では、管理の実行は重要な機能になります。エンタープライズネットワーク管理ソフトウェアである JBoss Operations Network は、複数のJBoss Data Grid インスタンスを管理するのに最適なツールです。JBoss Operations Network の機能を使用すると、キャッシュマネージャーやキャッシュインスタンスを簡単かつ効率的に監視できます。

バグを報告する

1.4. JBOSS DATA GRID のバージョン情報

第第1章章 JBOSS DATA GRID 6 の紹介の紹介

5

Page 10: Red Hat JBoss Data Grid 6 スタートガイド

JBoss Data Grid は、データグリッドソフトウェアのオープンソースコミュニティー版である Infinispanが基盤となっています。Infinispan は、高ストレス環境で試行やテストを行い証明された JBoss Cacheのコード、設計、およびアイデアを使用します。このようなデプロイメントの前歴があるため、JBossData Grid の初版リリースはバージョン 6.0 になっています。

バグを報告する

1.5. JBOSS DATA GRID のキャッシュアーキテクチャー

図図1.1 JBoss Data Grid のキャッシュアーキテクチャーのキャッシュアーキテクチャー

JBoss Data Grid のキャッシュアーキテクチャーは個々の要素と要素同士の対話を表現します。分かりやすくするため、キャッシュアーキテクチャーの図は以下の 2 つの部分に分割されています。

ユーザーが直接対話できない要素 (背景が灰色の部分)。これにはキャッシュ、キャッシュマネージャー、1 次キャッシュ、永続ストアインターフェース、永続ストアなどが含まれます。

ユーザーが直接対話できる要素 (背景が白の部分)。これにはキャッシュインターフェースやアプリケーションなどが含まれます。

キャッシュアーキテクチャーの要素キャッシュアーキテクチャーの要素

JBoss Data Grid のキャッシュアーキテクチャーには次の要素が含まれます。

1. キャッシュインスタンスやエントリーを永久的に格納する永続ストア。

2. JBoss Data Grid は、永続ストアのアクセスに 2 つの永続ストアインターフェースを提供します。永続ストアインターフェースは以下のいずれかになります。

キャッシュローダーは永続データストアへの接続を提供する読み取り専用インターフェースです。キャッシュローダーは、キャッシュインスタンスおよび永続ストアよりデータの場所を見つけ、読み出すことができます。

キャッシュストアは、キャッシュローダーによるステートのロードおよび格納を許可するメソッドを公開し、キャッシュローダーの機能に書き込み機能が含まれるようにします。

3. 1 次キャッシュ (L1 キャッシュ) は、リモートキャッシュエントリーが最初にアクセスされた後にそれらのエントリーを格納し、同じエントリーがその後使用される度に不必要なリモートフェッチ操作が行われないようにします。

4. キャッシュマネージャーは JBoss Data Grid のキャッシュインスタンスを読み出すために使用される主なメカニズムで、キャッシュを使用する時の開始点とすることができます。

スタートガイドスタートガイド

6

Page 11: Red Hat JBoss Data Grid 6 スタートガイド

5. キャッシュはキャッシュマネージャーによって読み出されたキャッシュインスタンスを格納します。

6. キャッシュインターフェースは Memcached や Hot Rod などのプロトコルを使用します。キャッシュを持つインターフェースには REST を使用することもできます。リモートインターフェースに関する詳細は『開発者ガイド』を参照してください。

Memcached はメモリー内にキーバリューを格納するために使用される分散メモリーオブジェクトキャッシングシステムです。Memcached キャッシングシステムは、Memachedプロトコルと呼ばれるテキストベースのクライアントサーバーキャッシングプロトコルを定義します。

Hot Rod は JBoss Data Grid で使用されるバイナリ TCP クライアントサーバープロトコルです。Memchached などの他のクライアントサーバープロトコルに不足している機能を補うために作成されました。Hot Rod は、パーティション化または分散化された JBoss DataGrid サーバークラスターの要求を、クライアントがスマートルーティングできるようにします。

REST プロトコルは、密結合のクライアントライブラリおよびバインディングを不要にします。REST API ではオーバーヘッドが発生し、REST 呼び出しの理解と作成に REST クライアントまたはカスタムコードを必要とします。

7. アプリケーションは、キャッシュインターフェースを介してユーザーがキャッシュとやりとりできるようにします。このようなエンドユーザーアプリケーションの一般的な例がブラウザーです。

バグを報告する

1.6. JBOSS DATA GRID の API

JBoss Data Grid は次の API を提供します。

キャッシュ

バッチ処理

グループ化

CacheStore

外部化

JBoss Data Grid のリモートクライアントサーバーモードでは、データグリッドとの対話に次の API のみを使用できます。

非同期 API (リモートクライアントサーバーモードで Hot Rod クライアントを併用する場合のみ使用可能)

REST インターフェース

Memcached インターフェース

Hot Rod インターフェース

RemoteCache API

バグを報告する

第第1章章 JBOSS DATA GRID 6 の紹介の紹介

7

Page 12: Red Hat JBoss Data Grid 6 スタートガイド

第2章 JBOSS DATA GRID の要件

2.1. JBOSS DATA GRID の前提条件

JBoss Data Grid の実行には、Java 6.0 およびそれ以降のバージョンと互換性を持つ Java 仮想マシン(JVM) のみが必要となります。JBoss Data Grid にはアプリケーションサーバーは必要ありません。

バグを報告する

2.2. JAVA VIRTUAL MACHINES (JVM)

2.2.1. Java 仮想マシン

Java 仮想マシン (JVM) は Java バイトコードを実行できるソフトウェアのことです。JVM は中間のバイトコードが実行される標準的な環境を作成します。基盤のハードウェアとオペレーティングシステムの組み合わせにとらわれず標準的な環境を作成することで、プログラマーは Java コードを一度書けばどのシステムでも実行できることを確信できます。OpenJDK はオープンソースで Java 仮想マシンがサポートし、Red Hat Enterprise Linux システムで快適に実行されるため、Red Hat は OpenJDK の使用を推奨します。Window ユーザーは Oracle JDK 1.6 をインストールするようにしてください。

バグを報告する

2.2.2. Red Hat Enterprise Linux への OpenJDK のインストール

手順手順2.1 Red Hat Enterprise Linux へのへの OpenJDK のインストールのインストール

1. ベースチャンネルのサブスクライブベースチャンネルのサブスクライブRHN ベースチャンネルより OpenJDK を取得します。Red Hat Enterprise Linux のインストールはデフォルトでこのチャンネルにサブスクライブされています。

2. パッケージのインストールパッケージのインストールyum ユーティリティを使用して OpenJDK をインストールします。

$ sudo yum install java-1.6.0-openjdk-devel

3. OpenJDK がシステムデフォルトであることを検証がシステムデフォルトであることを検証次のように、正しい JDK がシステムデフォルトとして設定されているかを確認します。

a. root としてログインし、alternatives コマンドを実行します。

$ /usr/sbin/alternatives --config java

b. /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java 選択します。

c. 次のコマンドを使用して javac を設定します。

$ /usr/sbin/alternatives --config javac

d. /usr/lib/jvm/java-1.6.0-openjdk/bin/java を選択します。

バグを報告する

スタートガイドスタートガイド

8

Page 13: Red Hat JBoss Data Grid 6 スタートガイド

第3章 JBOSS DATA GRID のダウンロードおよびインストール

3.1. JBOSS DATA GRID のダウンロード

次の手順に従って、カスタマーサービスポータルより JBoss Data Grid をダウンロードします。

手順手順3.1 JBoss Data Grid のダウンロードのダウンロード

1. カスタマーサービスポータルへアクセスカスタマーサービスポータルへアクセスカスタマーサービスポータル https://access.redhat.com へログインします。

2. 製品の検索製品の検索[Downloads] にカーソルを置き、[JBoss Enterprise Middleware] に移動します。

3. 製品の選択製品の選択[Data Grid] を選択します。

4. JBoss Data Grid のダウンロードのダウンロード適切な JBoss Data Grid を選択し、[Download] リンクをクリックします。

リモートクライアントサーバー使用モードがある JBoss Data Grid をダウンロードする場合は[JBoss Data Grid Server 6.0.0] を選択します。ライブラリ使用モードを持つ JBoss Data Gridをダウンロードする場合は [JBoss Data Grid Library 6.0.0] を選択します。

バグを報告する

3.2. RED HAT カスタマーポータルについて

Red Hat カスタマーポータルは、 公式にサポートされたソフトウェアのダウンロード、エンタイトルメントとサポート契約の管理、グローバルサポートサービスへの問い合わせ、Red Hat 製品のバグの報告などを Red Hat のお客様が行うための Web サイトです。カスタマーポータルにアクセスする Web アドレスは https://access.redhat.com です。

バグを報告する

3.3. チェックサムの検証

チェックサムの検証は、ダウンロードされたファイルが破損していないか確認するために使用されます。チェックサムの検証には、デジタルデータの任意のブロックより固定サイズのデータ (またはチェックサム) を算出するアルゴリズムが使用されます。異なるユーザーが同じアルゴリズムを使用して特定ファイルのチェックサムを算出しても、結果は同じになります。そのため、サプライヤーと同じアルゴリズムを使用してダウンロードされたファイルのチェックサムを算出する場合、チェックサムが一致すればファイルの整合性が確認されます。チェックサムが一致しない場合、ダウンロードの処理中にファイルが破損したことになります。

バグを報告する

3.4. ダウンロードされたファイルの検証

手順手順3.2 ダウンロードされたファイルの検証ダウンロードされたファイルの検証

1. Red Hat カスタマーポータルからダウンロードしたファイルにエラーがないことをポータルサイト上で検証するには、パッケージの [Software Details] ページに移動します。このペー

第第3章章 JBOSS DATA GRID のダウンロードおよびインストールのダウンロードおよびインストール

9

Page 14: Red Hat JBoss Data Grid 6 スタートガイド

ジには、ファイルの整合性チェックに使用する MD5 および SHA256"checksum" 値があります。

2. ターミナルウインドウを開いて md5sum または sha256sum コマンドを実行し、ダウンロードした ZIP のファイル名を引数として渡します。すると、ファイルのチェックサム値が出力されます。

3. コマンドによって返されたチェックサム値と、ファイルの [Software Details] ページに表示された対応する値を比較します。

注記注記

Microsoft Windows にはチェックサムツールが同梱されていません。MicrosoftWindows のユーザーはサードパーティーの製品をダウンロードする必要があります。

結果結果

2 つのチェックサム値が同じである場合、ファイルに変更や破損がないため、安心して使用することができます。

2 つのチェックサム値が同じでない場合、再度ファイルをダウンロードします。チェックサム値に相違がある場合、ダウンロード中にファイルが破損したり、サーバーへアップロードされた後に変更が加えられたりしたことを意味します。数回ダウンロードしてもチェックサムの検証に失敗する場合は、RedHat サポートまでご連絡ください。

バグを報告する

3.5. JBOSS DATA GRID のインストール

前提条件前提条件

適切なバージョン、プラットフォームおよびファイルタイプを見つけ、カスタマーサービスより JBossData Grid をダウンロードする必要があります。

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

1. ダウンロードした JBoss Data Grid パッケージをマシン上の希望の場所にコピーする必要があります。

2. 次のコマンドを実行して、ダウンロードした JBoss Data Grid パッケージを展開します。

$ unzip JDG_PACKAGE

JDG_PACKAGE は、Red Hat カスタマーポータルよりダウンロードした JBoss Data Grid 使用モードパッケージの名前に置き換えます。

3. 展開したディレクトリは $JDG_HOME とします。

バグを報告する

3.6. RED HAT のドキュメントサイト

Red Hat 公式のドキュメントサイトは https://access.redhat.com/knowledge/docs/ になります。本書を含む、最新バージョンのドキュメントを検索できます。

スタートガイドスタートガイド

10

Page 16: Red Hat JBoss Data Grid 6 スタートガイド

第4章 MAVEN リポジトリのインストールおよび使用

4.1. MAVEN について

Apache Maven は、ソフトウェアプロジェクトの作成、管理、構築を行う Java アプリケーションの開発で使用される分散型ビルド自動化ツールです。Maven は Project Object Model (POM) と呼ばれる標準の設定ファイルを利用して、プロジェクトの定義や構築プロセスの管理を行います。POM はモジュールやコンポーネントの依存関係、ビルドの順番、結果となるプロジェクトパッケージングのターゲットを記述し、XML ファイルを使用して出力します。こうすることで、プロジェクトが正しく統一された状態で構築されるようにします。

バグを報告する

4.2. MAVEN のダウンロード

Maven のダウンロードおよびインストール方法については、Maven ダウンロードページを参照してください。

バグを報告する

4.3. JBOSS DATA GRID の MAVEN リポジトリについて

Maven は、JBoss Data Grid でプロジェクトを構築する標準的な方法を作成するビルドツールで、JBoss Data Grid に同梱されるコードや例が想定通り動作するようにします。

バグを報告する

4.4. MAVEN リポジトリのインストール

4.4.1. Maven リポジトリのインストールオプション

JBoss Data Grid の Maven リポジトリをインストールする方法は 3 つあります。

1. ローカルファイルシステム上のインストール

2. Apache Web Server 上のインストール

3. Maven リポジトリマネージャーを用いたインストール

ご使用の環境に最も適したオプションを使用してください。

バグを報告する

4.4.2. ローカルファイルシステムリポジトリのインストール

このオプションは小チームでの初期テストに最も適したオプションです。次のコマンドを用いて、JBoss Data Grid Maven リポジトリをローカルファイルシステムのディレクトリに展開します。

手順手順4.1 ローカルファイルシステムリポジトリのインストールローカルファイルシステムリポジトリのインストール

1. Red Hat カスタマーポータルより jboss-datagrid-maven-repository-6.0.0.zip ファイルをダウンロードします。

スタートガイドスタートガイド

12

Page 17: Red Hat JBoss Data Grid 6 スタートガイド

2. $JDG_HOME/projects/maven-repositories/ などのローカルファイルシステムのディレクトリにファイルを展開します。

バグを報告する

4.4.3. Apache Web Sever のインストール

このオプションは、マルチユーザー環境での使用に最も適しています。次のように JBoss Data GridMaven リポジトリを標準的な Web サーバー (Apache httpd など) にインストールできます。

手順手順4.2 Apache Web Sever のインストールのインストール

1. Red Hat カスタマーポータルより、次のファイルをダウンロードします。

2. $JDG_HOME/projects/maven-repositories/ などのローカルファイルシステムのディレクトリにファイルを展開します。

3. Apache を設定し、設定されたディレクトリの読み取りアクセスとディレクトリの閲覧を許可します。

バグを報告する

4.4.4. Maven リポジトリマネージャーのインストール

このオプションは、リポジトリーマネージャーを既に使用している場合に最適なオプションです。

JBoss Data Grid は、Maven リポジトリマネージャーとそのドキュメントを用いてインストールすることができます。このようなリポジトリマネージャーの例は次の通りです。

Apache Archiva

JFrog Artifactory

Sonatype Nexus

バグを報告する

4.5. MAVEN レポジトリの設定

4.5.1. Maven リポジトリの設定

インストールされた JBoss Data Grid の Maven リポジトリを設定するには、settings.xml ファイルを編集します。デフォルトの settings.xml ファイルは、 Maven インストールの conf にあります。

Maven のユーザー設定は、ユーザーのホームディレクトリの .m2 サブディレクトリにあります。Maven の設定に関する詳細は Maven documentation を参照してください。

バグを報告する

4.5.2. Maven リポジトリリンクの設定

jboss-datagrid-maven-repository-6.0.0.zip

第第4章章 MAVEN リポジトリのインストールおよび使用リポジトリのインストールおよび使用

13

Page 18: Red Hat JBoss Data Grid 6 スタートガイド

Maven リポジトリのリンクは、使用されたインストールオプションによって異なります。ブラウザー上で、以下に示された各インストールタイプのリンクにアクセスします。

表表4.1 Maven リポジトリインストールのリンクリポジトリインストールのリンク

インストールタイプインストールタイプ リンクリンク

ファイルシステムインストール file://$JDG_HOME/projects/maven-repositories/jboss-datagrid-maven-repository-6.0.0

Apache Web Server インストール http://intranet.acme.com/jboss-datagrid-maven-repository-6.0.0

Nexus リポジトリマネージャー https://intranet.acme.com/nexus/content/repositories/jboss-datagrid-maven-repository-6.0.0

バグを報告する

4.5.3. Maven リポジトリの設定例

展開後、Maven リポジトリフォルダーのルートディレクトリにある example-settings.xml という名前の Maven リポジトリファイルの例を利用できます。以下は、settings.xml ファイルに関連する箇所が含まれる抜粋になります。

<settings> ... <profiles> ... <profile> <id>jboss-datagrid-repository</id> <repositories> <repository> <id>jboss-datagrid-repository</id> <name>JBoss Data Grid Maven Repository</name> <url>file:///path/to/repo/jboss-datagrid-maven-repository-6.0.0</url> <layout>default</layout> <releases> <enabled>true</enabled> <updatePolicy>never</updatePolicy> </releases> <snapshots> <enabled>false</enabled> <updatePolicy>never</updatePolicy> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>jboss-datagrid-repository-group</id> <name>JBoss Data Grid Maven Repository</name> <url>file:///path/to/repo/jboss-datagrid-maven-repository-6.0.0</url>

スタートガイドスタートガイド

14

Page 19: Red Hat JBoss Data Grid 6 スタートガイド

バグを報告する

<layout>default</layout> <releases> <enabled>true</enabled> <updatePolicy>never</updatePolicy> </releases> <snapshots> <enabled>false</enabled> <updatePolicy>never</updatePolicy> </snapshots> </pluginRepository> </pluginRepositories> </profile>

</profiles>

<activeProfiles> <activeProfile>jboss-datagrid-repository</activeProfile> </activeProfiles> ...</settings>

第第4章章 MAVEN リポジトリのインストールおよび使用リポジトリのインストールおよび使用

15

Page 20: Red Hat JBoss Data Grid 6 スタートガイド

第5章 新規 JBOSS DATA GRID プロジェクトの作成

5.1. プロジェクトへの依存関係の追加

プロジェクトに依存関係を追加し、JBoss Data Grid を設定します。Maven や Maven の依存関係をサポートするその他のビルドシステムを使用している場合、Maven リポジトリフォルダーにある pom.xml ファイルに以下を追加します。

注記注記

version の値を、JBoss Data Grid に含まれるライブラリの適切なバージョンに置き換えます。

バグを報告する

5.2. プロジェクトへのプロファイルの追加

プロジェクトに対して JBoss Maven リポジトリを有効にするには、次のようにプロファイルを pom.xml ファイルに追加します。

<dependency> <groupId>org.infinispan</groupId> <artifactId>infinispan-core</artifactId> <version>5.1.5.FINAL-redhat-1</version></dependency>

<profile> <id>jboss-datagrid-repository</id> <repositories> <repository> <id>jboss-datagrid-repository</id> <name>JBoss Data Grid Maven Repository</name> <url>file:///path/to/repo/jboss-datagrid-maven-repository-6.0.0</url> <layout>default</layout> <releases> <enabled>true</enabled> <updatePolicy>never</updatePolicy> </releases> <snapshots> <enabled>false</enabled> <updatePolicy>never</updatePolicy> </snapshots> </repository> <repository> <id>jboss-public-repository-group</id> <name>JBoss Public Maven Repository Group</name> <url>https://repository.jboss.org/nexus/content/groups/public-jboss/</url> <layout>default</layout> <releases> <enabled>true</enabled>

スタートガイドスタートガイド

16

Page 21: Red Hat JBoss Data Grid 6 スタートガイド

宣言型の依存関係管理をサポートしないビルドシステムを使用している場合は、JBoss Data Grid パッケージに含まれる client/java/ ディレクトリの内容を、ビルドクラスパスへ追加します。

バグを報告する

5.3. JBOSS DATA GRID の実行

次のスクリプトを実行すると、最も簡単に JBoss Data Grid を実行できます。

このスクリプトは、$JDG_HOME/standalone/configuration の standalone.xml に定義されている設定を使用して、JBoss Data Grid を起動します。

<updatePolicy>never</updatePolicy> </releases> <snapshots> <enabled>true</enabled> <updatePolicy>never</updatePolicy> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>jboss-datagrid-repository-group</id> <name>JBoss Data Grid Maven Repository</name> <url>file:///path/to/repo/jboss-datagrid-maven-repository-6.0.0</url> <layout>default</layout> <releases> <enabled>true</enabled> <updatePolicy>never</updatePolicy> </releases> <snapshots> <enabled>false</enabled> <updatePolicy>never</updatePolicy> </snapshots> </pluginRepository> <pluginRepository> <id>jboss-public-repository-group</id> <name>JBoss Public Maven Repository Group</name> <url>https://repository.jboss.org/nexus/content/groups/public-jboss/</url> <layout>default</layout> <releases> <enabled>true</enabled> <updatePolicy>never</updatePolicy> </releases> <snapshots> <enabled>true</enabled> <updatePolicy>never</updatePolicy> </snapshots> </pluginRepository> </pluginRepositories></profile>

$JDG_HOME/bin/standalone.sh

第第5章章 新規新規 JBOSS DATA GRID プロジェクトの作成プロジェクトの作成

17

Page 23: Red Hat JBoss Data Grid 6 スタートガイド

第6章 埋め込みキャッシュとして JBOSS DATA GRID を実行する

6.1. クイックスタートファイルの場所

「埋め込みキャッシュとして JBoss Data Grid を実行する」『』の章と、「埋め込みデータグリッドとして JBoss Data Grid を実行する」『』の章にある演習では、特定のクイックスタートファイルが必要になります。必要なクラスター化されたクイックスタート zip ファイルは、以下にあります。

Infinispan Github リポジトリ.

重要重要

これらのクイックスタートは、Infinispan のコミュニティープロジェクト向けに書かれています。これらのクイックスタートを JBoss Data Grid で実行し、Infinispan の依存関係を JBoss Data Grid の依存関係に置き換えます。

バグを報告する

6.2. クイックスタートクラスにおける MAIN メソッドの作成

次の手順に従って、新しいクイックスタートクラスを作成します。

手順手順6.1 クイックスタートクラスにおけるクイックスタートクラスにおける main メソッドの作成メソッドの作成

1. Quickstart.java ファイルの作成ファイルの作成プロジェクトの場所に Quickstart.java という名前のファイルを作成します。

2. クイックスタートクラスの追加クイックスタートクラスの追加次のクラスとメソッドを追加します。

3. 依存関係のコピーと依存関係のコピーと Java クラスのコンパイルクラスのコンパイル次のコマンドを使用して、すべてのプロジェクト依存関係をディレクトリにコピーし、プロジェクトより Java クラスをコンパイルします。

4. main メソッドの実行メソッドの実行次のコマンドを用いて main メソッドを実行します。

import org.infinispan.manager.DefaultCacheManagerimport org.infinispan.Cache

package com.mycompany.app;public class Quickstart { public static void main(String args[]) throws Exception { Cache<Object, Object> c = new DefaultCacheManager().getCache(); } }

$ mvn clean compile dependency:copy-dependencies -DstripVersion

$ java -cp target/classes/:target/dependency/* com.mycompany.app.Quickstart

第第6章章 埋め込みキャッシュとして埋め込みキャッシュとして JBOSS DATA GRID を実行するを実行する

19

Page 24: Red Hat JBoss Data Grid 6 スタートガイド

バグを報告する

6.3. 新しい REMOTECACHEMANAGER の作成

次の設定を用いて、新しい RemoteCacheManager を宣言により設定します。

注記注記

JBoss Data Grid で Hot Rod を使用するための詳細については、『開発者ガイド』のHot Rod の章を参照してください。

バグを報告する

6.4. デフォルトキャッシュの使用

6.4.1. キャッシュのデータ追加および削除

JBoss Data Grid は、キャッシュに格納されたデータにアクセスして変更を行うため、提案されているJSR-107 API と似たインターフェースを提供します。

次の手順は、DefaultCacheQuickstart.java ファイルに入力された各行が何を実行するかを定義する例になります。

手順手順6.2 キャッシュのデータ追加および削除キャッシュのデータ追加および削除

1. エントリーを追加し、key と value を希望のキーと値に置き換えます。

2. キャッシュにエントリーが存在することを確認します。

3. キャッシュよりエントリーを削除します。

4. エントリーがキャッシュに存在しないことを確認します。

バグを報告する

Properties props = new Properties();props.put("infinispan.client.hotrod.server_list", "127.0.0.1:11222");RemoteCacheManager manager = new RemoteCacheManager(props);RemoteCache defaultCache = manager.getCache();

cache.put("key", "value");

assertEquals(1, cache.size());assertTrue(cache.containsKey("key"));

Object v = cache.remove("key");

assertEquals("value", v);

スタートガイドスタートガイド

20

Page 25: Red Hat JBoss Data Grid 6 スタートガイド

6.4.2. キー値の追加と置換

JBoss Data Grid はスレッドセーフなデータ構造を提供します。

次の手順は、DefaultCacheQuickstart.java ファイルに入力された各行が何を実行するかを定義する例になります。

手順手順6.3 キー値の追加と置換キー値の追加と置換

1. key をキーの値とするエントリーを追加します。

2. キーの値があるか確認します。値が見つからない場合、見つからない値を key に置き換えます。値が見つかった場合、変更は発生しません。

関連トピック関連トピック:

「キーバリューペアについて」

バグを報告する

6.4.3. データライフの調整

デフォルトでは、JBoss Data Grid のエントリーは期限なし (immortal) ですが、この設定は変更できます。

次の手順は、DefaultCacheQuickstart.java ファイルに入力された各行が何を実行するかを定義する例になります。

手順手順6.4 データライフの調整データライフの調整

1. キーの lifespan 値を変更します。

2. キャッシュにキーが含まれるかを確認します。

3. 割り当てられた lifespan 時間が期限切れになると、キーはキャッシュから削除されます。

バグを報告する

6.4.4. デフォルトのデータ期限

cache.put("key", "value");

cache.putIfAbsent("key", "newValue");

cache.put("key", "value", 5, SECONDS);

assertTrue(cache.containsKey("key"));

Thread.sleep(10000);assertFalse(cache.containsKey("key"));

第第6章章 埋め込みキャッシュとして埋め込みキャッシュとして JBOSS DATA GRID を実行するを実行する

21

Page 26: Red Hat JBoss Data Grid 6 スタートガイド

デフォルトでは、新規作成されたエントリーにはライフスパンや最大アイドル時間値セットがありません。これらの 2 つの値がない場合、データエントリーは永久に期限切れにならないため、期限なし(immortal) データと呼ばれます。

バグを報告する

6.5. 名前付きキャッシュの使用

6.5.1. 名前付きキャッシュの使用

JBoss Data Grid の名前付きキャッシュは、設定で宣言する必要はありません。定義されていない場合、名前付きキャッシュはデフォルトのキャッシュと同様に自動的に設定されます。

この動作を上書きするには、宣言的 (XML を使用) またはプログラムを用いて (API を使用)、必要なカスタム設定で名前付きキャッシュを定義します。

カスタムキャッシュが宣言的に登録される場合、設定ファイルは使用する前にロードする必要があります。プログラムを用いてカスタムキャッシュが登録される場合は、設定ファイルをロードする必要はありません。

バグを報告する

6.5.2. プログラムを用いた名前付きキャッシュの登録

JBoss Data Grid は、ユーザーがプログラムを用いて名前付きキャッシュを登録できる設定機能を提供します。

名前付きキャッシュは、プログラムを用いて設定することが可能です。例として、クイックスタートパッケージに含まれる CustomCacheQuickstart.java ファイルを参考にすることができます。infinispan-quickstart は infinispan-quickstart/embedded-cache/src/main/java/org/infinispan/quickstart/embeddedcache/ にあります。

関連トピック関連トピック:

「クイックスタートファイルの場所」

バグを報告する

6.5.3. 設定ファイルのロード

前提条件前提条件

名前付きキャッシュを宣言的に登録する必要があります。

infinispan-quickstarts の XmlConfiguredCacheQuickstart.java ファイルは、名前付きキャッシュのカスタム設定がどのようにロードされるかを実例を用いて説明します。このファイルは Quickstartsパッケージの infinispan-quickstart/embedded-cache/src/main/java/org/infinispan/quickstart/embeddedcache にあります。

関連トピック関連トピック:

「クイックスタートファイルの場所」

バグを報告する

スタートガイドスタートガイド

22

Page 27: Red Hat JBoss Data Grid 6 スタートガイド

6.5.4. XML を用いた名前付きキャッシュの登録

プログラムを用いず、名前付きキャッシュを宣言的に (XML を使用) 設定するには、infinispan.xmlファイルを設定します。

infinispan.xml ファイルは、infinispan-quickstarts パッケージの infinispan-quickstart/embedded-cache/src/main/resources にあります。

関連トピック関連トピック:

「クイックスタートファイルの場所」

バグを報告する

第第6章章 埋め込みキャッシュとして埋め込みキャッシュとして JBOSS DATA GRID を実行するを実行する

23

Page 28: Red Hat JBoss Data Grid 6 スタートガイド

第7章 埋め込みデータグリッドとして JBOSS DATA GRID を使用する

7.1. クイックスタートファイルの場所

「埋め込みキャッシュとして JBoss Data Grid を実行する」『』の章と、「埋め込みデータグリッドとして JBoss Data Grid を実行する」『』の章にある演習では、特定のクイックスタートファイルが必要になります。必要なクラスター化されたクイックスタート zip ファイルは、以下にあります。

Infinispan Github リポジトリ.

重要重要

これらのクイックスタートは、Infinispan のコミュニティープロジェクト向けに書かれています。これらのクイックスタートを JBoss Data Grid で実行し、Infinispan の依存関係を JBoss Data Grid の依存関係に置き換えます。

バグを報告する

7.2. 埋め込みデータグリッドとして JBOSS DATA GRID を実行する

JBoss Data Grid は、ネットワークトランスポートとして JGroups を使用し、簡単に使用できるクラスタリングを提供します。そのため、JBoss Data Grid でクラスターを形成するために必要な初期操作をJGroups が管理します。

バグを報告する

7.3. JGROUPS チャネルの共有

単一の CacheManager から作成されたすべてのキャッシュは、デフォルトでは同じ JGroups チャネルを共有します。JGroups チャネルは、レプリケーションメッセージや分散メッセージを多重化するために使用されます。

次の例では、3 つのキャッシュがすべて同じ JGroups チャネルを使用します。

$LOCATION を CacheManager の場所に置き換えてください。

バグを報告する

7.4. クラスターにおける JBOSS DATA GRID の実行

7.4.1. プロジェクトのコンパイル

Maven を使用し、次のコマンドを用いてプロジェクトをコンパイルします。

EmbeddedCacheManager cm = $LOCATIONCache<Object, Object> cache1 = cm.getCache("replSyncCache");Cache<Object, Object> cache2 = cm.getCache("replAsyncCache");Cache<Object, Object> cache3 = cm.getCache("invalidationSyncCache");

スタートガイドスタートガイド

24

Page 29: Red Hat JBoss Data Grid 6 スタートガイド

バグを報告する

7.4.2. レプリケーションモードでクラスター化されたキャッシュを実行する

クラスター化されたキャッシュに関する JBoss Data Grid のレプリケーションモード例を実行するには、異なるコンソールで 2 つのノードを開始します。

手順手順7.1 レプリケーションモードでクラスター化されたキャッシュを実行するレプリケーションモードでクラスター化されたキャッシュを実行する

1. 次のコマンドを用いて、最初のノードを立ち上げます。

2. 次のコマンドを用いて、2 つ目のノードを立ち上げます。

結果結果

両方のノードで JGroups と JBoss Data Grid が初期化されます。約 15 秒後に、キャッシュエントリーのログメッセージが最初のノードのコンソール上に表示されます。

バグを報告する

7.4.3. ディストリビューションモードでクラスター化されたキャッシュの実行

クラスター化されたキャッシュに関する JBoss Data Grid のディストリビューションモード例を実行するには、異なるコンソールで 3 つのノードを開始します。

手順手順7.2 ディストリビューションモードでクラスター化されたキャッシュの実行ディストリビューションモードでクラスター化されたキャッシュの実行

1. 次のコマンドを用いて最初のノードを立ち上げます。

2. 次のコマンドを用いて 2 番目のノードを立ち上げます。

3. 次のコマンドを用いて 3 番目のノードを立ち上げます。

結果結果

$ mvn clean compile dependency:copy-dependencies -DstripVersion

$ java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.replication.Node0

$ java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.replication.Node1

$ java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.distribution.Node0

$ java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.distribution.Node1

$ java -cp target/classes/:target/dependency/* org.infinispan.quickstart.clusteredcache.distribution.Node2

第第7章章 埋め込みデータグリッドとして埋め込みデータグリッドとして JBOSS DATA GRID を使用するを使用する

25

Page 30: Red Hat JBoss Data Grid 6 スタートガイド

3 つのノードで JGroups と JBoss Data Grid が初期化されます。約 15 秒後に、3 番目のノードによって追加された 10 個のエントリが、最初のノードと 2 番目のノードに分散されたように表示されます。

バグを報告する

7.4.4. クラスターの設定

7.4.4.1. クラスターの設定クラスターの設定

次の手順に従って、クラスターを追加および設定します。

手順手順7.3 クラスターの設定クラスターの設定

1. 新しいクラスターのデフォルト設定の追加

2. ネットワークの要件に従って、デフォルトのクラスター設定をカスタマイズします。宣言的(XML を使用) またはプログラムを用いてカスタマイズできます。

3. レプリケートされたデータグリッド、または分散されたデータグリッドを設定します。

バグを報告する

7.4.4.2. デフォルトクラスター設定の追加デフォルトクラスター設定の追加

クラスター設定を追加して、クラスターが存在し、定義されていることを JBoss Data Grid が確実に認識するようにします。この目的を達成するデフォルト設定は次の通りです。

注記注記

GlobalConfiguration.clusteredDefault() を使用して、事前設定されたクラスター対応の GlobalConfiguration を迅速に作成します。この設定はカスタマイズ可能です。

バグを報告する

7.4.4.3. デフォルトクラスター設定のカスタマイズデフォルトクラスター設定のカスタマイズ

ネットワークの要件によっては、JGroups 設定のカスタマイズが必要なことがあります。

プログラムを用いた設定プログラムを用いた設定

以下の GlobalConfiguration コードを使用して、JGroups の設定に使用するファイルの名前を指定します。

new ConfigurationBuilder() .clustering().cacheMode(CacheMode.REPL_SYNC) .build()

new GlobalConfigurationBuilder().transport().addProperty("configurationFile", "jgroups.xml") .build()

スタートガイドスタートガイド

26

Page 31: Red Hat JBoss Data Grid 6 スタートガイド

jgroups.xml を希望のファイル名に置き換えます。

jgroups.xml ファイルは $Infinispan-Quickstart/clustered-cache/src/main/resources/ にあります。

注記注記

JGroups を ループバックインターフェースのみにバインドする場合は (設定されたファイアウォールを避けるため)、システムプロパティー -Djgroups.bind_addr="127.0.0.1" を使用します。これは、すべてのノードが 1 つのマシン上にある状態でクラスターをテストする場合、特に便利です。

宣言的な設定宣言的な設定

infinispan.xml ファイルにある以下の XML スニペットを使用して、JBoss Data Grid の XML 設定を使用するよう JGroups プロパティーを設定します。

バグを報告する

7.4.4.4. レプリケートされたデータグリッドの設定レプリケートされたデータグリッドの設定

JBoss Data Grid のレプリケートモードは、データグリッドのすべてのノードで各エントリーが確実にレプリケートされるようにします。

このモードは、ノード障害によるデータの損失に対応するセキュリティーを提供し、優れたデータの可用性も提供します。ストレージ容量を、最小メモリーでノード上にて使用できるストレージの量に制限して、これらの利点を実現します。

プログラムを用いた設定プログラムを用いた設定

以下のコードスニペットを使用して、レプリケーションモードのキャッシュをプログラムを用いて設定します (同期または非同期)。

宣言的な設定宣言的な設定

<global> <transport> <properties> <property name="configurationFile" value="jgroups.xml"/> </properties> </transport></global>

private static EmbeddedCacheManager createCacheManagerProgramatically() { return new DefaultCacheManager( new GlobalConfigurationBuilder() .transport().addProperty("configurationFile", "jgroups.xml") .build(), new ConfigurationBuilder() .clustering().cacheMode(CacheMode.REPL_SYNC) .build() );}

第第7章章 埋め込みデータグリッドとして埋め込みデータグリッドとして JBOSS DATA GRID を使用するを使用する

27

Page 32: Red Hat JBoss Data Grid 6 スタートガイド

cfg.xml ファイルに次の XML コードが含まれるようにし、レプリケーションモードのキャッシュを宣言的に設定します (同期または非同期)。

次のコードを使用して、XML 設定ファイルを持つ DefaultCacheManager を初期化し、返します。

バグを報告する

7.4.4.5. 分散されたデータグリッドの設定分散されたデータグリッドの設定

JBoss Data Grid のディストリビューションモードは、データグリッドの全ノードのサブセット上に各エントリーが確実に格納されるようにします。サブセットのノード数は numOwners パラメーターによって制御され、各エントリーの「所有者」の数が示されます。

ディストリビューションモードでは、ストレージ容量が増えますが、アクセス時間が長くなり、永続性(ノード障害への保護) が低下します。numOwners の値を調整し、容量、永続性、および可用性の適切なバランスを設定してください。JBoss Data Grid のトポロジーを意識した一貫性のあるハッシュによって、永続性が更に向上されます。このようなハッシュは、多様なデータセンターやラック、ノードなどにまたがり、エントリーオーナーを検索します。

プログラムを用いた設定プログラムを用いた設定

以下のコードスニペットを使用して、ディストリビューションモードのキャッシュをプログラムを用いて設定します (同期または非同期)。

宣言的な設定宣言的な設定

<infinispan xsi:schemaLocation="urn:infinispan:config:5.1 http://www.infinispan.org/schemas/infinispan-config-5.1.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:infinispan:config:5.1"> <global> <transport> <properties> <property name="configurationFile" value="jgroups.xml"/> </properties> </transport> </global> <default> <clustering mode="replication"> <sync/> </clustering> </default></infinispan>

private static EmbeddedCacheManager createCacheManagerFromXml() throws IOException { return new DefaultCacheManager("infinispan-replication.xml");}

new ConfigurationBuilder() .clustering() .cacheMode(CacheMode.DIST_SYNC) .hash().numOwners(2) .build()

スタートガイドスタートガイド

28

Page 33: Red Hat JBoss Data Grid 6 スタートガイド

cfg.xml ファイルに次の XML コードが含まれるようにし、ディストリビューションモードのキャッシュを宣言的に設定します (同期または非同期)。

バグを報告する

<default> <clustering mode="distribution"> <sync/> <hash numOwners="2"/> </clustering></default>

第第7章章 埋め込みデータグリッドとして埋め込みデータグリッドとして JBOSS DATA GRID を使用するを使用する

29

Page 34: Red Hat JBoss Data Grid 6 スタートガイド

第8章 エンドポイントのないノードとして JBOSS DATA GRID を実行する

8.1. エンドポイントについて

サービスは他のサービスと通信するため、チャネルを使用してメッセージを送信します。エンドポイントはサービスの通信ポイントで、チャネルからのメッセージを送受信するために使用されます。そのため、エンドポイントのないノードは他のノードとは通信できますが、クライアントとは通信ができません。

バグを報告する

8.2. エンドポイントのないノードの利点

JBoss Data Grid でエンドポイントのないノードを作成する主な利点には、データレプリケーションが関係します。

クライアントは直接エンドポイントのないノードにアクセスできません。そのため、クライアントと通信できる別のノードからデータをレプリケートするために使用されます。その結果、クライアントがアクセスできないデータのバックアップコピーをノードが持つようになり、クライアントによって送信されたエラーによる障害から守ることができます。

バグを報告する

8.3. エンドポイントのないノードの設定例

JBoss Data Grid は、エンドポイントのないノードを設定するための設定例を提供します。この例にアクセスする方法は次の通りです。

手順手順8.1 エンドポイントのないノードのエンドポイントのないノードの JBoss Data Grid 設定例を検索設定例を検索

1. JBoss Data Grid のの ZIP の展開の展開1. JBoss Data Grid のリモートクライアントサーバーモードの ZIP ファイルを展開します。これには jboss-datagrid-server-${version}-GA 名前が付けられます。ファイル名に関連バージョンを追加します。

2. 適切なフォルダーへ移動適切なフォルダーへ移動展開したフォルダー内で、$JDG_HOME/docs/examples/config フォルダーに移動します。

3. 設定例ファイルの検索設定例ファイルの検索エンドポイントのないノードの設定が含まれる standalone-storage-only.xml を見つけます。

バグを報告する

8.4. エンドポイントのないノードの設定

スタンドアロン高可用性設定などの標準的な設定を、エンドポイントのないノード向けに変更できます。以下の手順に従います。

datagrid サブシステムを削除します。

modcluster を削除します。

スタートガイドスタートガイド

30

Page 35: Red Hat JBoss Data Grid 6 スタートガイド

datasource 定義を削除します。

mod_cluster、Hot Rod、および memcached の socket-bindings を削除します。

上記の項目を削除し、すべてのエンドポイントが確実に設定から削除されるようにし、クラスタリングを不可能にします。結果、エンドポイントのない設定が作成されます。

バグを報告する

第第8章章 エンドポイントのないノードとしてエンドポイントのないノードとして JBOSS DATA GRID を実行するを実行する

31

Page 36: Red Hat JBoss Data Grid 6 スタートガイド

第9章 JBOSS DATA GRID の CARMART クイックスタート

9.1. CARMART クイックスタートについて

JBoss Data Grid にはトランザクションおよび非トランザクションの CartMart クイックスタートが含まれています。CartMart クイックスタートは、リレーショナルデータベースの代わりに JBoss Data Gridを使用する簡単な Web アプリケーションです。各車 (car) に関する情報はキャッシュに格納されます。キャッシュはプログラムを用いて設定され、Web アプリケーションと同じ Java 仮想マシン (JVM) で実行されます。

機能機能

CarMart クイックスタートは次の機能を提供します。

全車の一覧表示。

新しい車の追加。

車の削除。

ヒット数、保存、読み出しなど、キャッシュの統計を表示。

使用モード使用モード

CarMart クイックスタートは、次の JBoss Data Grid の使用モードで使用可能です。

リモート JBoss Data Grid サーバーと通信するため Hot Rod クライアントが含まれる、リモートクライアントサーバーモード。

すべてのライブラリが jar ファイル形式でアプリケーションとバンドルされる、ライブラリモード。

場所場所

JBoss Data Grid の CarMart クイックスタートは jboss-datagrid-quickstarts-1.0.0/carmart/ にあります。

バグを報告する

9.2. CARMART トランザクションクイックスタートについて

トランザクションバージョンの CartMart クイックスタートは、リレーショナルデータベースの代わりに JBoss Data Grid を使用する簡単な Web アプリケーションです。各車 (car) に関する情報はキャッシュに格納されます。キャッシュはプログラムを用いて設定され、Web アプリケーションと同じ Java仮想マシン (JVM) で実行されます。

機能機能

トランザクション CarMart クイックスタートは次の機能を提供します。

全車の一覧表示。

新しい車の追加。

ロールバックで新しい車を追加。

車の削除。

スタートガイドスタートガイド

32

Page 37: Red Hat JBoss Data Grid 6 スタートガイド

ヒット数、保存、読み出しなど、キャッシュの統計を表示。

使用モード使用モード

トランザクション CarMart クイックスタートは JBoss Data Grid のライブラリモードでのみ使用できます。トランザクション CarMart クイックスタートが Tomcat で実行されると、JBoss Transactions よりスタンドアロントランザクションマネージャーが使用されます。

場所場所

JBoss Data Grid の トランザクション CarMart クイックスタートは jboss-datagrid-quickstarts-1.0.0/carmart-transactional にあります。

バグを報告する

9.3. CARMART とトランザクションクイックスタートの違い

トランザクションおよび非トランザクション CarMart クイックスタートのビルド、デプロイ、アンデプロイ手順は似ていますが、違いもあります。相違点は次の通りです。

CarMart はリモートクライアントサーバーモードとライブラリモードの両方で使用可能です。リモートクライアントサーバーモードではトランザクションが使用できないため、トランザクション CarMart はライブラリモードでのみ使用可能です。

また、トランザクションクイックスタートは、トランザクションロールバックがどのように発生するかを表示します。[Add car with rollback] ボタンを使用してロールバックを表示します。CarMart の例には、簡単な [Add car] ボタンがあります。

バグを報告する

9.4. JBOSS APPLICATION SERVER を用いた CARMART クイックスタート

9.4.1. CarMart クイックスタートを JBoss Application Server へビルドする

次の手順では、CarMart アプリケーションを JBoss Application Server 7 にビルドする方法を説明します。

前提条件前提条件

サポート対象の JBoss Data Grid ライブラリモードのディストリビューションファイルを取得する必要があります。

手順手順9.1 CarMart をを JBoss Application Server へビルドするへビルドする

1. Maven リポジトリのインストールリポジトリのインストール小チームでの初期テストでは、JBoss Data Grid Maven リポジトリをローカルシステムのディレクトリへ展開します。

JBoss Data Grid Maven リポジトリをインストールする方法の詳細は、4章Maven リポジトリのインストールおよび使用 を参照してください。

$ unzip jboss-datagrid-maven-repository-6.0.0.zip

第第9章章 JBOSS DATA GRID のの CARMART クイックスタートクイックスタート

33

Page 38: Red Hat JBoss Data Grid 6 スタートガイド

2. JBoss Application Server の起動の起動次のように JBoss Application Server を起動します。

3. アプリケーションのビルドアプリケーションのビルド次のコマンドを用いて、Maven を使用してアプリケーションをビルドします。

バグを報告する

9.4.2. CarMart クイックスタートを JBoss Application Server へデプロイする

次の手順では、CarMart アプリケーションを JBoss Application Server 7 にデプロイする方法を説明します。

前提条件前提条件

デプロイする CarMart クリックスタートがビルドされている必要があります。

手順手順9.2 CarMart クイックスタートをクイックスタートを JBoss Application Server へデプロイするへデプロイする

1. アプリケーションのデプロイアプリケーションのデプロイJBoss Application Server の Maven プラグインを使用して、次のようにアプリケーションをデプロイします。

2. アプリケーションの表示アプリケーションの表示アプリケーションを表示するには、ブラウザーを使用して次のリンクに移動します。

バグを報告する

9.4.3. CarMart クイックスタートを JBoss Application Server からアンデプロイする

次の手順では、すでにデプロイされているアプリケーションを JBoss Application Server からアンデプロイする方法を説明します。

手順手順9.3 JBoss Application Server よりアプリケーションをアンデプロイするよりアプリケーションをアンデプロイする

アプリケーションをアンデプロイするには、次のコマンドを使用します。

$ mvn jboss-as:undeploy -Plibrary-jbossas

バグを報告する

$JBOSS_HOME/bin/standalone.sh

$ mvn clean package -Plibrary-jbossas -Ddatagrid.maven.repo=file:///path/to/unpacked/jdg/maven/repository

$ mvn jboss-as:deploy -Plibrary-jbossas

http://localhost:8080/carmart-quickstart

スタートガイドスタートガイド

34

Page 39: Red Hat JBoss Data Grid 6 スタートガイド

9.5. TOMCAT を用いた CARMART クイックスタート

9.5.1. CarMart クイックスタートの Tomcat へのビルド

次の手順では、CarMart クイックスタートを Tomcat 7 にビルドする方法を説明します。

前提条件前提条件

サポート対象の JBoss Data Grid ライブラリモードのディストリビューションファイルを取得する必要があります。

手順手順9.4 CarMart クイックスタートのクイックスタートの Tomcat へのビルドへのビルド

1. Maven リポジトリのインストールリポジトリのインストール小チームでの初期テストでは、JBoss Data Grid Maven リポジトリをローカルシステムのディレクトリへ展開します。

JBoss Data Grid Maven リポジトリをインストールする方法の詳細は、4章Maven リポジトリのインストールおよび使用 を参照してください。

2. マネージャースクリプト情報の追加マネージャースクリプト情報の追加このビルドでは、デフォルトのホスト名 (localhost) やポート (8080) などが含まれるTomcat 7 のデフォルト設定が使用されることを前提としています。Maven の Tomcat プラグインがマネージャーにアクセスできるようにするため、以下の情報を conf/tomcat-users.xml にある tomcat-users.xml ファイルへ追加します。

3. Tomcat の起動の起動次のスクリプトを使用して Tomcat を起動します。

4. アプリケーションのビルドアプリケーションのビルド次のコマンドを用いて、Maven を使用してアプリケーションをビルドします。

バグを報告する

9.5.2. CarMart クイックスタートの Tomcat へのデプロイ

次の手順では、CarMart クイックスタートを Tomcat 7 にデプロイする方法を説明します。

前提条件前提条件

デプロイする CarMart クリックスタートがビルドされている必要があります。

$ unzip jboss-datagrid-maven-repository-6.0.0.zip

<role rolename="manager-script"/><user username="admin" password="" roles="manager-script"/>

$CATALINA_HOME/bin/catalina.sh start

$ mvn clean package -Plibrary-jbossas -Ddatagrid.maven.repo=file:///path/to/unpacked/jdg/maven/repository

第第9章章 JBOSS DATA GRID のの CARMART クイックスタートクイックスタート

35

Page 40: Red Hat JBoss Data Grid 6 スタートガイド

手順手順9.5 CarMart クイックスタートのクイックスタートの Tomcat へのデプロイへのデプロイ

1. サーバーの認証情報の編集サーバーの認証情報の編集Maven インストールの conf ディレクトリにある Maven settings.xml ファイルに、server 要素と必要な認証情報を追加します。

2. アプリケーションのデプロイアプリケーションのデプロイ次のように、Tomcat の Maven プラグインを使用してアプリケーションをデプロイします。

3. アプリケーションの表示アプリケーションの表示アプリケーションを表示するには、ブラウザーを使用して次のリンクに移動します。

バグを報告する

9.5.3. Tomcat の CarMart クイックスタートのアンデプロイ

次の手順では、すでにデプロイされているアプリケーションを Tomcat よりアンデプロイする方法を説明します。

手順手順9.6 Tomcat のアプリケーションのアンデプロイのアプリケーションのアンデプロイ

アプリケーションをアンデプロイするには、次のコマンドを使用します。

$ mvn tomcat:undeploy -Plibrary-tomcat

バグを報告する

9.6. リモートクライアントサーバーモードの CARMART クイックスタート

9.6.1. リモートクライアントサーバーモードでの CarMart クイックスタートのビルド

このクイックスタートは Hot Rod 経由で JBoss Data Grid にアクセスします。この機能は、トランザクション CarMart クイックスタートでは使用できません。

前提条件前提条件

サポート対象の JBoss Data Grid ライブラリモードのディストリビューションファイルを取得する必要があります。

手順手順9.7 リモートクライアントサーバーモードでのリモートクライアントサーバーモードでの CarMart クイックスタートのビルドクイックスタートのビルド

<server> <id>tomcat</id> <username>admin</username> <password></password> </server>

$ mvn tomcat:deploy -Plibrary-tomcat

http://localhost:8080/carmart-quickstart

スタートガイドスタートガイド

36

Page 41: Red Hat JBoss Data Grid 6 スタートガイド

1. スタンドアロンファイルの設定スタンドアロンファイルの設定$JDG_HOME/standalone/configuration/ ディレクトリにある standalone.xml ファイルに、次の設定を追加します。

a. 次の設定を、<system-properties> 要素の右側のタグの後に追加します。

b. infinispan サブシステムのタグ内に次の設定を追加します。

2. JBoss Data Grid サーバーの起動サーバーの起動次のスクリプトを実行し、JBoss Data Grid サーバーを起動します。

$JDG_HOME/bin/standalone.sh

注記注記

サーバーは指定された設定を使用して、test1 アドレス上で実行されます。

UNIX ユーザー向けのユーザー向けの test1 の設定の設定/etc/hosts に次の行を追加し、UNIX システム上の test1 アドレスを設定します。

IfConfig コマンドの実行コマンドの実行コマンドラインで次のコマンドを実行します。

3. JBoss Application Server の起動の起動次のスクリプトを実行し、アプリケーションがデプロイされる場所に JBoss Application Serverインスタンスを起動します。

$JDG_HOME/bin/standalone.sh

<paths><path name="temp" path="/tmp"/></paths>

<local-cache name="carcache" start="EAGER" batching="false" indexing="NONE"> <locking isolation="REPEATABLE_READ" striping="false" acquire-timeout="20000" concurrency-level="500"/> <eviction strategy="LIRS" max-entries="4"/> <file-store relative-to="temp" path="carstore" passivation="false"/></local-cache>

192.168.11.101 test1

$ sudo ifconfig eth0:1 192.168.11.101 netmask 255.255.255.0

第第9章章 JBOSS DATA GRID のの CARMART クイックスタートクイックスタート

37

Page 42: Red Hat JBoss Data Grid 6 スタートガイド

4. JBoss Data Grid サーバーアドレスの指定サーバーアドレスの指定$JDG_HOME/src/main/resources/META-INF/ ディレクトリにある jdg.propertiesファイルを編集し、次のように JBoss Data Grid サーバーのアドレスを指定します。

注記注記

ポートオフセットが定義されている localhost アドレスで JBoss Data Gridサーバーが稼働している場合は、ポート情報が含まれるように jdg.properties ファイルを編集します。例は次の通りです。

5. アプリケーションのビルドアプリケーションのビルド次のコマンドを使用し、関連ディレクトリでアプリケーションをビルドします。

バグを報告する

9.6.2. リモートクライアントサーバーモードでの CarMart クイックスタートのデプロイ

次の手順では、CarMart クイックスタートを JBoss Data Grid のリモートクライアントサーバーモードにデプロイする方法を説明します。

前提条件前提条件

デプロイする CarMart クリックスタートがビルドされている必要があります。

手順手順9.8 リモートクライアントサーバーモードでのリモートクライアントサーバーモードでの CarMart クイックスタートのデプロイクイックスタートのデプロイ

1. アプリケーションのデプロイアプリケーションのデプロイ次のコマンドを用いて、Maven を使用してアプリケーションをデプロイします。

2. アプリケーションの表示アプリケーションの表示次のリンクにアクセスし、アプリケーションを表示します。

http://localhost:8080/carmart-quickstart

バグを報告する

9.6.3. リモートクライアントサーバーモードでの CarMart クイックスタートのアンデプロイ

datagrid.address=test1

datagrid.address=localhostdatagrid.hotrod.port=11322

$ mvn clean package -Premote

$ mvn jboss-as:deploy -Premote

スタートガイドスタートガイド

38

Page 43: Red Hat JBoss Data Grid 6 スタートガイド

次の手順では、すでにデプロイされているアプリケーションを JBoss Data Grid のリモートクライアントサーバーモードよりアンデプロイする方法を説明します。

手順手順9.9 リモートクライアントサーバーモードでのアプリケーションのアンデプロイリモートクライアントサーバーモードでのアプリケーションのアンデプロイ

アプリケーションをアンデプロイするには、次のコマンドを使用します。

$ mvn jboss-as:undeploy -Premote

バグを報告する

第第9章章 JBOSS DATA GRID のの CARMART クイックスタートクイックスタート

39

Page 44: Red Hat JBoss Data Grid 6 スタートガイド

第10章 FOOTBALL クイックスタートエンドポイントの例

10.1. FOOTBALL クイックスタートエンドポイントの例について

Football アプリケーションは、JBoss Data Grid のエンドポイント (Hot Rod、REST およびMemcached) の使用方法を実例を用いて説明する簡単な例になります。各例は、これらプロトコルの 1つを使用して JBoss Data Grid に接続し、キャッシュよりデータをリモートで保存、読み出し、および削除する方法を示しています。

各アプリケーションは、コンソールアプリケーションとする簡単なフットボールチームマネージャーユーティリティの一種です。

機能機能

Football Manager アプリケーションの例で使用できる機能は次の通りです。

チームの追加。

プレーヤーの追加。

全エンティティー (チームおよびプレーヤー) の削除。

全チームおよびプレーヤーの一覧表示。

場所場所

JBoss Data Grid の Football クイックスタートは以下の場所にあります。

jboss-datagrid-quickstarts-1.0.0/carmart/rest-endpoint

jboss-datagrid-quickstarts-1.0.0/carmart/hotrod-endpoint

jboss-datagrid-quickstarts-1.0.0/carmart/memcached-endpoint

バグを報告する

10.2. FOOTBALL アプリケーションのビルド

次の手順では、JBoss Data Grid の REST、Hot Rod、および memcached エンドポイントの例としてフットボールマネージャーアプリケーションをビルドする方法を説明します。

注記注記

JBoss Data Grid はデプロイするアプリケーションをサポートしないため、このクイックスタートをデプロイメントとしてインストールすることはできません。

手順手順10.1 Football アプリケーションのビルドアプリケーションのビルド

1. 設定の追加設定の追加$JDG_HOME/standalone/configuration/ にある standalone.xml ファイルを編集し、データソースおよび infinispan サブシステムの定義を追加します。

a. データソースに対する次のサブシステム定義を追加します。

<subsystem xmlns="urn:jboss:domain:datasources:1.0">

スタートガイドスタートガイド

40

Page 45: Red Hat JBoss Data Grid 6 スタートガイド

b. infinispan に対する次のサブシステム定義を追加します。

<datasources> <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true"> <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1</connection-url> <driver>h2</driver> <security> <user-name>sa</user-name> <password>sa</password> </security> </datasource> <drivers> <driver name="h2" module="com.h2database.h2"> <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class> </driver> </drivers> </datasources> </subsystem>

<subsystem xmlns="urn:jboss:domain:infinispan:1.2" default-cache-container="local"> <cache-container name="local" default-cache="memcachedCache" listener-executor="infinispan-listener" start="EAGER"> <local-cache name="memcachedCache" start="EAGER" batching="false" indexing="NONE"> <locking isolation="REPEATABLE_READ" acquire-timeout="20000" concurrency-level="500" striping="false" /> <transaction mode="NONE" /> <string-keyed-jdbc-store datasource="java:jboss/datasources/ExampleDS" passivation="false" preload="false" purge="false"> <property name="databaseType">H2</property> <string-keyed-table prefix="JDG"> <id-column name="id" type="VARCHAR"/> <data-column name="datum" type="BINARY"/> <timestamp-column name="version" type="BIGINT"/> </string-keyed-table> </string-keyed-jdbc-store>

第第10章章 FOOTBALL クイックスタートエンドポイントの例クイックスタートエンドポイントの例

41

Page 46: Red Hat JBoss Data Grid 6 スタートガイド

注記注記

Hot Rod および REST エンドポイントは teams という名前のキャッシュを使用し、memcached エンドポイントはデフォルトで memcachedCache を使用します。

2. サブモジュール設定ファイルの編集サブモジュール設定ファイルの編集各サブモジュール (特に hotrod-endpoint、rest-endpoint、および memcached-endpoint) には設定ファイルが含まれています($JDG_HOME/src/main/resources/jdg.properties にあります)。設定を編集して、ご使用の JBoss Data Grid インストールに必要な値を指定します。Hot Rod エンドポイントには次のような追加設定が必要です。

a. Maven リポジトリのインストールリポジトリのインストール小チームでの初期テストでは、次のようにリポジトリをローカルシステムのディレクトリへ展開することができます。

これにより、jboss-datagrid-maven-repository-6.0.0 というディレクトリにMaven リポジトリが作成されます。

JBoss Data Grid Maven リポジトリをインストールする方法の詳細は、4章Maven リポジトリのインストールおよび使用 を参照してください。

</local-cache> <local-cache name="teams" start="EAGER" batching="false" indexing="NONE"> <locking isolation="REPEATABLE_READ" acquire-timeout="20000" concurrency-level="500" striping="false" /> <transaction mode="NONE" /> <string-keyed-jdbc-store datasource="java:jboss/datasources/ExampleDS" passivation="false" preload="false" purge="false"> <property name="databaseType">H2</property> <string-keyed-table prefix="JDG"> <id-column name="id" type="VARCHAR"/> <data-column name="datum" type="BINARY"/> <timestamp-column name="version" type="BIGINT"/> </string-keyed-table> </string-keyed-jdbc-store> </local-cache> </cache-container> </subsystem>

unzip jboss-datagrid-maven-repository-6.0.0.zip

スタートガイドスタートガイド

42

Page 47: Red Hat JBoss Data Grid 6 スタートガイド

3. アプリケーションのビルドアプリケーションのビルド次のコマンドを使用して、サンプルアプリケーションのディレクトリでサンプルアプリケーションをビルドします。

これにより、Maven のシェードプラグインが使用されます。このプラグインは、すべての依存関係を 1 つの jar ファイルにバンドルし、使いやすくします。

4. JBoss Data Grid の起動の起動次のスクリプトを実行し、JBoss Data Grid を起動します。

5. アプリケーションの実行アプリケーションの実行サンプルアプリケーションのディレクトリでサンプルアプリケーションを実行します。

a. Hot Rod エンドポイントの場合、次のコマンドを実行します。

b. memcached エンドポイントの場合、次のコマンドを実行します。

c. REST エンドポイントの場合、次のコマンドを実行します。

バグを報告する

mvn package

$JDG_HOME/bin/standalone.sh

java -jar target/hotrod-endpoint-quickstart.jar

java -jar target/memcached-endpoint-quickstart.jar

java -jar target/rest-endpoint-quickstart.jar

第第10章章 FOOTBALL クイックスタートエンドポイントの例クイックスタートエンドポイントの例

43

Page 48: Red Hat JBoss Data Grid 6 スタートガイド

第11章 JBOSS DATA GRID の削除

11.1. LINUX システムより JBOSS DATA GRID を削除する

次の手順では、Linux システムより JBoss Data Grid を削除する方法を説明します。

警告警告

削除すると、JBoss Data Grid の設定がすべて永久的に失われます。

手順手順11.1 Linux システムよりシステムより JBoss Data Grid を削除するを削除する

1. サーバーのシャットダウンサーバーのシャットダウンJBoss Data Grid サーバーが必ずシャットダウンされているようにしてください。

2. JBoss Data Grid のホームディレクトリへの移動のホームディレクトリへの移動コマンドラインを使用して、$JDG_HOME フォルダーより 1 つ上の階層へ移動します。

3. JBoss Data Grid のホームディレクトリの削除のホームディレクトリの削除ターミナル上で次のコマンドを入力し、JBoss Data Grid を削除します。 $JDG_HOME は JBossData Grid のホームディレクトリの名前に置き換えてください。

バグを報告する

11.2. WINDOWS システムより JBOSS DATA GRID を削除する

次の手順では、Windows システムより JBoss Data Grid を削除する方法を説明します。

警告警告

削除すると、JBoss Data Grid の設定がすべて永久的に失われます。

手順手順11.2 Windows システムよりシステムより JBoss Data Grid を削除するを削除する

1. サーバーのシャットダウンサーバーのシャットダウンJBoss Data Grid サーバーが必ずシャットダウンされているようにしてください。

2. JBoss Data Grid のホームディレクトリへの移動のホームディレクトリへの移動Windows Explorer を使用して、$JDG_HOME フォルダーが存在するディレクトリへ移動します。

$ rm -Rf $JDG_HOME

スタートガイドスタートガイド

44

Page 50: Red Hat JBoss Data Grid 6 スタートガイド

付録A 参照

A.1. キーバリューペアについて

キーバリューペア (KVP) とは、キーと値で構成されるデータセットのことです。

キーは特定のデータエントリーに一意であり、関連する特定エントリーのデータ属性によって構成されます。

バリュー (値) は、キーによって割り当てられ、キーによって識別されるデータです。

バグを報告する

スタートガイドスタートガイド

46

Page 51: Red Hat JBoss Data Grid 6 スタートガイド

付録B 改訂履歴

改訂改訂 1.0.0-34 Fri Jan 10 2014 Misha Husnain AliBuilt from Content Specification: 11623, Revision: 507875 by mhusnain

付録付録B 改訂履歴改訂履歴

47