第8章 ファイルベースのキャッシュストアの定義
datagrid-service
を使用してファイルベースのキャッシュストアを定義して、データを外部ストレージに永続化します。
XMLStringConfiguration
クラスを使用して、Hot Rod インターフェースを介して XML 設定を文字列として提供します。
- XML は Data Grid 設定スキーマで有効である必要があります。
-
data
フォルダーはPersistentVolume
でコンテナーが再起動されても有効なままであるため、ファイルストアの場所として、/opt/datagrid/standalone/data
にマウントされるストレージボリュームに配置する必要があります。
たとえば、以下の main
メソッドは、ファイルストアを含む分散設定でキャッシュを作成します。
public static void main(String[] args) { ConfigurationBuilder cfg = ... RemoteCacheManager rcm = new RemoteCacheManager(build); String xml = String.format( "<infinispan>" + "<cache-container>" + "<distributed-cache name=\"%1$s\">" + "<persistence passivation=\"false\">" + "<file-store " + "shared=\"false\" " + "fetch-state=\"true\" " + "path=\"${jboss.server.data.dir}/datagrid-infinispan/%1$s\"" + "/>" + "</persistence>" + "</distributed-cache>" + "</cache-container>" + "</infinispan>", "cacheName" ); RemoteCache<Object, Object> index = rcm.administration() //Include a flag to make the cache permanent. .withFlags(CacheContainerAdmin.AdminFlag.PERMANENT) //Create a cache with the XML configuration .createCache("cacheName", new XMLStringConfiguration(xml)); System.out.println(index.size()); }
有効な file-store
設定オプションの詳細は、「Data Grid 設定スキーマ」を参照してください。
詳細は、Javadoc を参照してください。