3.2. キャッシュテンプレートの追加
Data Grid スキーマには、テンプレートの作成に使用できる *-cache-configuration
要素が含まれます。その後、同じ設定を複数回使用して、オンデマンドでキャッシュを作成することができます。
手順
- Data Grid 設定を開いて編集します。
-
適切な
*-cache-configuration
要素またはオブジェクトを Cache Manager に追加します。 - Data Grid 設定を保存して閉じます。
キャッシュテンプレートの例
XML
JSON
YAML
3.2.1. テンプレートからのキャッシュの作成 リンクのコピーリンクがクリップボードにコピーされました!
設定テンプレートからキャッシュを作成します。
リモートキャッシュのテンプレートは、Data Grid コンソールの Cache templates メニューから利用できます。
前提条件
- Cache Manager に少なくとも 1 つのキャッシュテンプレートを追加します。
手順
- Data Grid 設定を開いて編集します。
-
キャッシュが
configuration
属性またはフィールドを継承するテンプレートを指定します。 - Data Grid 設定を保存して閉じます。
テンプレートから継承されたキャッシュ設定
XML
<distributed-cache configuration="my-dist-template" />
<distributed-cache configuration="my-dist-template" />
JSON
{ "distributed-cache": { "configuration": "my-dist-template" } }
{
"distributed-cache": {
"configuration": "my-dist-template"
}
}
YAML
distributedCache: configuration: "my-dist-template"
distributedCache:
configuration: "my-dist-template"
3.2.2. キャッシュテンプレートの継承 リンクのコピーリンクがクリップボードにコピーされました!
キャッシュ設定テンプレートは、他のテンプレートから継承して、設定を拡張し、上書きすることができます。
キャッシュテンプレートの継承は階層的です。親から継承する子設定テンプレートの場合は、親テンプレートの後に追加する必要があります。
さらに、複数の値を持つ要素にはテンプレート継承が追加されます。別のテンプレートから継承するキャッシュは、そのテンプレートから値をマージし、プロパティーを上書きできます。
テンプレート継承の例
XML
JSON
YAML
3.2.3. キャッシュテンプレートのワイルドカード リンクのコピーリンクがクリップボードにコピーされました!
ワイルドカードをキャッシュ設定テンプレート名に追加できます。名前がワイルドカードに一致するキャッシュを作成すると、Data Grid は設定テンプレートを適用します。
キャッシュ名が複数のワイルドカードと一致する場合は、Data Grid は例外を出力します。
テンプレートワイルドカードの例
XML
JSON
YAML
上記の例では、"async-dist-cache-prod" という名前のキャッシュを作成する場合、Data Grid は async-dist-cache-*
テンプレートの設定を使用します。
3.2.4. 複数の XML ファイルからのキャッシュテンプレート リンクのコピーリンクがクリップボードにコピーされました!
キャッシュ設定テンプレートを複数の XML ファイルに分割して、粒度を柔軟に参照し、XML 包含 (XInclude) で参照します。
Data Grid は、XInclude 仕様の最小限のサポートを提供します。つまり、xpointer
属性、xi:fallback
要素、テキスト処理、またはコンテンツネゴシエーションを使用できません。
また、XInclude を使用するには xmlns:xi="http://www.w3.org/2001/XInclude"
namespace を infinispan.xml
に追加する必要もあります。
Xinclude キャッシュテンプレート
Data Grid は、設定フラグメントで使用できる infinispan-config-fragment-15.0.xsd
スキーマも提供します。
設定フラグメントスキーマ
<local-cache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:infinispan:config:15.0 https://infinispan.org/schemas/infinispan-config-fragment-15.0.xsd" xmlns="urn:infinispan:config:15.0" name="mycache"/>
<local-cache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:infinispan:config:15.0 https://infinispan.org/schemas/infinispan-config-fragment-15.0.xsd"
xmlns="urn:infinispan:config:15.0"
name="mycache"/>