Программная установка свойства для карт в Hazelcast?

Существует ли способ программно установить свойство "времени жизни" (или на самом деле, свойство) для распределенной карты в Hazelcast?

Я хочу избежать необходимости изменять конфигурацию Hazelcast XML для этого.

Я использую версию 1.7.1 Hazelcast

5
задан Amro 2 July 2012 в 11:09
поделиться

1 ответ

Вы можете настроить все программно в Hazelcast, запустив с версией 1.7.1. Вам необходимо создать объект Config и передать его.

Вот как это делается в Hazelcast 1.7.1

Если вы используете статические методы Hazelcast для получения карты, такие как Hazelcast.getMap ("myMapName"), то это способ:

//You need to do this once on each JVM(Hazelcast node) at the begining  
Config myConfig = new Config();
Map<String, MapConfig> myHazelcastMapConfigs = myConfig.getMapMapConfigs();
MapConfig myMapConfig = new MapConfig();
myMapConfig.setName("myMapName");
myMapConfig.setTimeToLiveSeconds(1000);
myHazelcastMapConfigs.put("myMapName", myMapConfig);
Hazelcast.init(myConfig);

Но если вы создавая экземпляры Hazelcast с помощью Hazelcast.newHazelcastInstance, затем передайте конфигурацию этому методу. затем получите карту из экземпляра. Таким образом, вы можете создать несколько экземпляров hazelcast в одной JVM. Вот код

HazelcastInstance h = Hazelcast.newHazelcastInstance(myConfig);

h.getMap("myMapName");

В последней версии hazelcast создание объекта конфигурации еще проще:

Config config = new XmlConfigBuilder().build();
config.getMapConfig("myMapName").setTimeToLiveSeconds(10000);

Кстати, финальная версия Hazelcast 1.8.1 вот-вот выйдет. Предлагаю вам перейти на эту версию.

Ура ...

9
ответ дан 14 December 2019 в 01:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: