第 2 章 热 Rod Java 客户端配置
Data Grid 提供了一个 Hot Rod Java 客户端配置 API,用于公开配置属性。
2.1. 配置 Hot Rod 客户端连接 复制链接链接已复制到粘贴板!
配置 Hot Rod Java 客户端连接数据网格服务器。
流程
-
使用
ConfigurationBuilder
类来生成不可变配置对象,您可以传递给RemoteCacheManager
,或使用应用 classpath 上的hotrod-client.properties
文件。
ConfigurationBuilder
hotrod-client.properties
infinispan.client.hotrod.server_list = 127.0.0.1:11222,192.0.2.0:11222 infinispan.client.hotrod.auth_username = username infinispan.client.hotrod.auth_password = changeme infinispan.client.hotrod.auth_realm = default infinispan.client.hotrod.sasl_mechanism = SCRAM-SHA-512
infinispan.client.hotrod.server_list = 127.0.0.1:11222,192.0.2.0:11222
infinispan.client.hotrod.auth_username = username
infinispan.client.hotrod.auth_password = changeme
infinispan.client.hotrod.auth_realm = default
infinispan.client.hotrod.sasl_mechanism = SCRAM-SHA-512
配置 Hot Rod URI
您还可以使用 URI 配置 Hot Rod 客户端连接,如下所示:
ConfigurationBuilder
ConfigurationBuilder builder = new ConfigurationBuilder(); builder.uri("hotrod://username:changeme@127.0.0.1:11222,192.0.2.0:11222?auth_realm=default&sasl_mechanism=SCRAM-SHA-512"); RemoteCacheManager cacheManager = new RemoteCacheManager(builder.build());
ConfigurationBuilder builder = new ConfigurationBuilder();
builder.uri("hotrod://username:changeme@127.0.0.1:11222,192.0.2.0:11222?auth_realm=default&sasl_mechanism=SCRAM-SHA-512");
RemoteCacheManager cacheManager = new RemoteCacheManager(builder.build());
hotrod-client.properties
infinispan.client.hotrod.uri = hotrod://username:changeme@127.0.0.1:11222,192.0.2.0:11222?auth_realm=default&sasl_mechanism=SCRAM-SHA-512
infinispan.client.hotrod.uri = hotrod://username:changeme@127.0.0.1:11222,192.0.2.0:11222?auth_realm=default&sasl_mechanism=SCRAM-SHA-512
在 classpath 之外添加属性
如果 hotrod-client.properties
文件不在应用程序类路径上,则需要指定位置,如下例所示:
2.1.1. 在客户端配置中定义 Data Grid 集群 复制链接链接已复制到粘贴板!
在 Hot Rod 客户端配置中提供 Data Grid 集群的位置。
流程
至少提供一个 Data Grid 集群名称以及至少一个带有
ClusterConfigurationBuilder
类的节点的主机名和端口。如果要将集群定义为默认集群,以便客户端始终首先尝试连接到它,然后使用
addServers ("<host_name>:<port>; <host_name>:<port>")
方法定义服务器列表。
多个集群连接
带有故障转移集群的默认服务器列表
ConfigurationBuilder clientBuilder = new ConfigurationBuilder(); clientBuilder.addServers("hostA1:11222; hostA2:11222") .addCluster("siteB") .addClusterNodes("hostB1:11222; hostB2:11223"); RemoteCacheManager remoteCacheManager = new RemoteCacheManager(clientBuilder.build());
ConfigurationBuilder clientBuilder = new ConfigurationBuilder();
clientBuilder.addServers("hostA1:11222; hostA2:11222")
.addCluster("siteB")
.addClusterNodes("hostB1:11222; hostB2:11223");
RemoteCacheManager remoteCacheManager = new RemoteCacheManager(clientBuilder.build());
2.1.2. 手动切换 Data Grid 集群 复制链接链接已复制到粘贴板!
在 Data Grid 集群间手动切换 Hot Rod Java 客户端连接。
流程
在
RemoteCacheManager
类中调用以下方法之一:switchToCluster (clusterName)
切换到客户端配置中定义的特定集群。switchToDefaultCluster ()
切换到客户端配置中的默认集群,该集群被定义为 Data Grid 服务器列表。
2.1.3. 配置连接池 复制链接链接已复制到粘贴板!
热 Rod Java 客户端保持与数据网格服务器的持久连接池,以重复利用 TCP 连接,而不是在每个请求上创建它们。
流程
- 配置 Hot Rod 客户端连接池设置,如下例所示:
ConfigurationBuilder
hotrod-client.properties