使用 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调用应该在你添加配置之后。