使用 HazelcastClient 在 ClientConfig 中以编程方式配置 IMap 的 TTL、最大大小、驱逐策略
Programmatically configure TTL, Max Size , Eviction policy for IMap in ClientConfig using HazelcastClient
我正在使用 Hazelcast 本机 java 客户端连接远程 Hazelcast 集群。
下面是代码,我想从 java 客户端为 IMap tranMap
以下配置 TTL,最大大小,驱逐策略 。
任何人都可以建议如何从 hazelcast 客户端为每个 IMap 设置此参数。
我知道如何在 hazelcast.xml 的集群级别配置它。但是对于我的应用程序用例,我必须在用于创建 HazelcastClient 实例的 ClientConfig 对象中以编程方式配置它。
ClientConfig config = new ClientConfig();
String[] addresses = { "192.178.11.01:5701", "192.178.30.18:5702" };
config.getNetworkConfig().addAddress(addresses);
HazelcastInstance hazelcastInstance = HazelcastClient.newHazelcastClient(config);
IMap<Integer, Transaction> map = hazelcastInstance.getMap("tranMap");
已经提出要求,https://github.com/hazelcast/hazelcast/issues/14750,但尚未实施
如果您不想重新配置现有地图,而只是为您将要使用的地图添加新配置,这是可行的
HazelcastInstance client = HazelcastClient.newHazelcastClient();
Config config = client.getConfig();
config.addMapConfig(new MapConfig()
.setName("foo")
.setTimeToLiveSeconds(10));
记住不要在配置之前创建地图,所以getMap
调用应该在你添加配置之后。
我正在使用 Hazelcast 本机 java 客户端连接远程 Hazelcast 集群。
下面是代码,我想从 java 客户端为 IMap tranMap
以下配置 TTL,最大大小,驱逐策略 。
任何人都可以建议如何从 hazelcast 客户端为每个 IMap 设置此参数。 我知道如何在 hazelcast.xml 的集群级别配置它。但是对于我的应用程序用例,我必须在用于创建 HazelcastClient 实例的 ClientConfig 对象中以编程方式配置它。
ClientConfig config = new ClientConfig();
String[] addresses = { "192.178.11.01:5701", "192.178.30.18:5702" };
config.getNetworkConfig().addAddress(addresses);
HazelcastInstance hazelcastInstance = HazelcastClient.newHazelcastClient(config);
IMap<Integer, Transaction> map = hazelcastInstance.getMap("tranMap");
已经提出要求,https://github.com/hazelcast/hazelcast/issues/14750,但尚未实施
如果您不想重新配置现有地图,而只是为您将要使用的地图添加新配置,这是可行的
HazelcastInstance client = HazelcastClient.newHazelcastClient();
Config config = client.getConfig();
config.addMapConfig(new MapConfig()
.setName("foo")
.setTimeToLiveSeconds(10));
记住不要在配置之前创建地图,所以getMap
调用应该在你添加配置之后。