3.4. リモートキャッシュの作成
ランタイム時にリモートキャッシュを作成すると、Data Grid Server はクラスター全体で設定を同期し、全ノードがコピーを持つようにします。このため、常に以下のメカニズムを使用してリモートキャッシュを動的に作成する必要があります。
- Data Grid コンソール
- Data Grid コマンドラインインターフェイス (CLI)
- Hot Rod または HTTP クライアント
3.4.1. デフォルトの Cache Manager
Data Grid Server は、リモートキャッシュのライフサイクルを制御するデフォルトの Cache Manager を提供します。Data Grid Server を起動すると、Cache Manager が自動的にインスタンス化されるため、リモートキャッシュや Protobuf スキーマなどの他のリソースを作成および削除できます。
Data Grid Server を起動してユーザー認証情報を追加したら、Cache Manager の詳細を表示し、Data Grid コンソールからクラスター情報を取得できます。
-
任意のブラウザーで
127.0.0.1:11222
を開きます。
コマンドラインインターフェイス (CLI) または REST API を使用して Cache Manager に関する情報を取得することもできます。
- CLI
デフォルトのコンテナーで
describe
コマンドを使用します。[//containers/default]> describe
- REST
-
任意のブラウザーで
127.0.0.1:11222/rest/v2/container/
を開きます。
デフォルトの Cache Manager の設定
XML
<infinispan> <!-- Creates a Cache Manager named "default" and enables metrics. --> <cache-container name="default" statistics="true"> <!-- Adds cluster transport that uses the default JGroups TCP stack. --> <transport cluster="${infinispan.cluster.name:cluster}" stack="${infinispan.cluster.stack:tcp}" node-name="${infinispan.node.name:}"/> <!-- Requires user permission to access caches and perform operations. --> <security> <authorization/> </security> </cache-container> </infinispan>
JSON
{ "infinispan" : { "jgroups" : { "transport" : "org.infinispan.remoting.transport.jgroups.JGroupsTransport" }, "cache-container" : { "name" : "default", "statistics" : "true", "transport" : { "cluster" : "cluster", "node-name" : "", "stack" : "tcp" }, "security" : { "authorization" : {} } } } }
YAML
infinispan: jgroups: transport: "org.infinispan.remoting.transport.jgroups.JGroupsTransport" cacheContainer: name: "default" statistics: "true" transport: cluster: "cluster" nodeName: "" stack: "tcp" security: authorization: ~
3.4.2. Data Grid コンソールを使用したキャッシュの作成
Data Grid コンソールを使用して、任意の Web ブラウザーから直感的なビジュアルインターフェイスでリモートキャッシュを作成します。
前提条件
-
admin
パーミッションを持つ Data Grid ユーザーを作成します。 - 1 つ以上の Data Grid Server インスタンスを起動します。
- Data Grid キャッシュ設定があります。
手順
-
任意のブラウザーで
127.0.0.1:11222/console/
を開きます。 - Create Cache を選択し、プロセスを Data Grid コンソールガイドの手順に従ってください。
3.4.3. Data Grid CLI を使用したリモートキャッシュの作成
Data Grid コマンドラインインターフェイス (CLI) を使用して、Data Grid Server にリモートキャッシュを追加します。
前提条件
-
admin
パーミッションを持つ Data Grid ユーザーを作成します。 - 1 つ以上の Data Grid Server インスタンスを起動します。
- Data Grid キャッシュ設定があります。
手順
CLI を起動します。
bin/cli.sh
-
connect
コマンドを実行し、プロンプトが表示されたらユーザー名とパスワードを入力します。 create cache
コマンドを使用してリモートキャッシュを作成します。たとえば、以下のように
mycache.xml
という名前のファイルから "mycache" という名前のキャッシュを作成します。create cache --file=mycache.xml mycache
検証
ls
コマンドを使用して、すべてのリモートキャッシュをリスト表示します。ls caches mycache
describe
コマンドでキャッシュ設定を表示します。describe caches/mycache
3.4.4. Hot Rod クライアントからのリモートキャッシュの作成
Data Grid Hot Rod API を使用して、Java、C++、.NET/C#、JS クライアントなどから Data Grid Server にリモートキャッシュを作成します。
この手順では、最初のアクセスでリモートキャッシュを作成する Hot Rod Java クライアントを使用する方法を示します。他の Hot Rod クライアントのコード例は、Data Grid Tutorials を参照してください。
前提条件
-
admin
パーミッションを持つ Data Grid ユーザーを作成します。 - 1 つ以上の Data Grid Server インスタンスを起動します。
- Data Grid キャッシュ設定があります。
手順
-
ConfigurationBuilder
の一部としてremoteCache()
メソッドを呼び出します。 -
クラスパスの
hotrod-client.properties
ファイルでconfiguration
またはconfiguration_uri
プロパティーを設定します。
ConfigurationBuilder
File file = new File("path/to/infinispan.xml") ConfigurationBuilder builder = new ConfigurationBuilder(); builder.remoteCache("another-cache") .configuration("<distributed-cache name=\"another-cache\"/>"); builder.remoteCache("my.other.cache") .configurationURI(file.toURI());
hotrod-client.properties
infinispan.client.hotrod.cache.another-cache.configuration=<distributed-cache name=\"another-cache\"/> infinispan.client.hotrod.cache.[my.other.cache].configuration_uri=file:///path/to/infinispan.xml
リモートキャッシュの名前に .
が含まれる場合は、hotrod-client.properties
ファイルを使用する場合は角括弧で囲む必要があります。
3.4.5. REST API を使用したリモートキャッシュの作成
Data Grid REST API を使用して、適切な HTTP クライアントから Data Grid Server でリモートキャッシュを作成します。
前提条件
-
admin
パーミッションを持つ Data Grid ユーザーを作成します。 - 1 つ以上の Data Grid Server インスタンスを起動します。
- Data Grid キャッシュ設定があります。
手順
-
ペイロードにキャッシュ設定を指定して
/rest/v2/caches/<cache_name>
にPOST
要求を呼び出します。