Я использую Собственный Java-клиент Hazelcast для подключения к удаленному кластеру Hazelcast.
Ниже приведен код, я хочу настроить TTL, максимальный размер, политика выселения ниже IMap tranMap
из java-клиента.
Может ли кто-нибудь предложить, как установить эти параметры из клиента hazelcast для каждого IMap. Я знаю, как настроить его на уровне кластера в hazelcast.xml. Но для моего варианта использования приложения я должен настроить его программно в объекте ClientConfig, используемом при создании экземпляра HazelcastClient.
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
должен быть после добавления конфигурации.
Кстати, если вы не хотите перенастраивать существующую карту, а просто добавляете новую конфигурацию для карты, которую собираетесь использовать, это выполнимо.