2.3. キャッシュの作成
キャッシュ定義を Data Grid に追加し、データの格納方法を設定します。
ライブラリーモード
以下の例では、Cache Manager を初期化し、分散された同期キャッシュモードを使用する myDistributedCache という名前のキャッシュ定義を作成します。
GlobalConfigurationBuilder global = GlobalConfigurationBuilder.defaultClusteredBuilder();
DefaultCacheManager cacheManager = new DefaultCacheManager(global.build());
ConfigurationBuilder builder = new ConfigurationBuilder();
builder.clustering().cacheMode(CacheMode.DIST_SYNC);
cacheManager.defineConfiguration("myDistributedCache", builder.build());
getOrCreate() メソッドを使用してキャッシュ定義を作成するか、すでに存在する場合はこれを返すこともできます。以下に例を示します。
cacheManager.administration().getOrCreateCache("myDistributedCache", builder.build());
Data Grid Server
以下のようにランタイム時にキャッシュをリモートで作成します。
CLI の使用
DIST_SYNCキャッシュテンプレートで myCache という名前のキャッシュを作成するには、以下を実行します。[//containers/default]> create cache --template=org.infinispan.DIST_SYNC name=myDistributedCacheREST API を使用します。
myCache という名前のキャッシュを作成するには、以下の
POST呼び出しを使用し、XML または JSON 形式のリクエストペイロードにキャッシュ定義を追加します。POST /rest/v2/caches/myCacheHot Rod クライアントを使用します。
import org.infinispan.client.hotrod.RemoteCacheManager; import org.infinispan.client.hotrod.configuration.ConfigurationBuilder; import org.infinispan.client.hotrod.impl.ConfigurationProperties; import org.infinispan.commons.api.CacheContainerAdmin.AdminFlag; import org.infinispan.commons.configuration.XMLStringConfiguration; // Create a configuration for a locally running server. ConfigurationBuilder builder = new ConfigurationBuilder(); builder.addServer().host("127.0.0.1").port(11222); manager = new RemoteCacheManager(builder.build()); } ... private void createTemporaryCacheWithTemplate() { manager.administration() //Override the default and create a volatile cache that //does not survive cluster restarts. .withFlags(AdminFlag.VOLATILE) //Create a cache named myTemporaryCache that uses the //distributed, synchronous cache template //or return it if it already exists. .getOrCreateCache("myTemporaryCache", "org.infinispan.DIST_SYNC"); }
Hot Rod Java クライアントでキャッシュを作成する例は、Data Grid チュートリアルを参照してください。