5
有沒有辦法以編程方式爲Hazelcast中的分佈式地圖設置「生存時間」屬性(或事實上,任何屬性)?Hazelcast中地圖的編程屬性設置?
我想避免爲此更改Hazelcast配置XML。
我使用Hazelcast版本1.7.1
有沒有辦法以編程方式爲Hazelcast中的分佈式地圖設置「生存時間」屬性(或事實上,任何屬性)?Hazelcast中地圖的編程屬性設置?
我想避免爲此更改Hazelcast配置XML。
我使用Hazelcast版本1.7.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.newHazelcastInstance創建Hazelcast實例,請將配置傳遞給此方法。然後從實例中獲取地圖。這樣您就可以在同一個JVM中創建多個hazelcast實例。下面是代碼
HazelcastInstance h = Hazelcast.newHazelcastInstance(myConfig);
h.getMap("myMapName");
在hazelcast最新版本創建的配置對象更簡單:
Config config = new XmlConfigBuilder().build();
config.getMapConfig("myMapName").setTimeToLiveSeconds(10000);
順便說Hazelcast 1.8.1決賽即將發佈。我建議你切換到該版本。
乾杯...
謝謝福阿德,這就是我一直在尋找 – 2010-03-01 10:00:01