6.5. 使用 Hot Rod 客户端创建缓存
通过 RemoteCacheManager API 在 Data Grid Server 上以编程方式创建缓存。
注意
以下流程演示了使用 Hot Rod Java 客户端进行编程缓存创建。但是,Hot Rod 客户端以 Javascript 或 C++ 等不同语言提供。
前提条件
- 创建用户,并至少启动一个 Data Grid 服务器实例。
- 获取 Hot Rod Java 客户端。
流程
使用
ConfigurationBuilder类配置您的客户端。import org.infinispan.client.hotrod.RemoteCacheManager; import org.infinispan.client.hotrod.DefaultTemplate; import org.infinispan.client.hotrod.configuration.ConfigurationBuilder; import org.infinispan.commons.configuration.XMLStringConfiguration; ... ConfigurationBuilder builder = new ConfigurationBuilder(); builder.addServer() .host("127.0.0.1") .port(11222) .security().authentication() .enable() .username("username") .password("password") .realm("default") .saslMechanism("DIGEST-MD5"); manager = new RemoteCacheManager(builder.build());-
使用
XMLStringConfiguration类以 XML 格式添加缓存定义。 调用
getOrCreateCache ()方法,以添加缓存(如果已存在)或创建缓存(如果不存在)。private void createCacheWithXMLConfiguration() { String cacheName = "CacheWithXMLConfiguration"; String xml = String.format("<infinispan>" + "<cache-container>" + "<distributed-cache name=\"%s\" mode=\"SYNC\" statistics=\"true\">" + "<locking isolation=\"READ_COMMITTED\"/>" + "<transaction mode=\"NON_XA\"/>" + "<expiration lifespan=\"60000\" interval=\"20000\"/>" + "</distributed-cache>" + "</cache-container>" + "</infinispan>" , cacheName); manager.administration().getOrCreateCache(cacheName, new XMLStringConfiguration(xml)); System.out.println("Cache created or already exists."); }使用
org.infinispan模板创建缓存,如下例所示,使用createCache ()调用:private void createCacheWithTemplate() { manager.administration().createCache("myCache", "org.infinispan.DIST_SYNC"); System.out.println("Cache created."); }
后续步骤
尝试一些工作代码示例,其中演示了如何使用 Hot Rod Java 客户端创建远程缓存。访问 Data Grid Tutorials。