14.2. リモートキャッシュの作成
前提条件
-
cache-api
がクラスパスにあることを確認します。 以下の依存関係を
pom.xml
に追加します。<dependency> <groupId>org.infinispan</groupId> <artifactId>infinispan-jcache-remote</artifactId> </dependency>
手順
- リモート Data Grid サーバーでキャッシュを作成し、以下のようにデフォルトの JCache API 設定を使用します。
import javax.cache.*; import javax.cache.configuration.*; // Retrieve the system wide cache manager via org.infinispan.jcache.remote.JCachingProvider CacheManager cacheManager = Caching.getCachingProvider("org.infinispan.jcache.remote.JCachingProvider").getCacheManager(); // Define a named cache with default JCache configuration Cache<String, String> cache = cacheManager.createCache("remoteNamedCache", new MutableConfiguration<String, String>());
14.2.1. リモートキャッシュの設定
Hot Rod 設定ファイルには、リモートキャッシュのカスタマイズに使用できる infinispan.client.hotrod.cache.*
プロパティーが含まれます。
-
以下のように、
hotrod-client.properties
ファイルの URI をCachingProvider.getCacheManager(URI)
呼び出しに渡します。
import javax.cache.*; import javax.cache.configuration.*; // Load configuration from an absolute filesystem path URI uri = URI.create("file:///path/to/hotrod-client.properties"); // Load configuration from a classpath resource // URI uri = this.getClass().getClassLoader().getResource("hotrod-client.properties").toURI(); // Retrieve the system wide cache manager via org.infinispan.jcache.remote.JCachingProvider CacheManager cacheManager = Caching.getCachingProvider("org.infinispan.jcache.remote.JCachingProvider") .getCacheManager(uri, this.getClass().getClassLoader(), null);