编程属性设置为Hazelcast地图?
-
22-09-2019 - |
题
有一种方法以编程方式设置“生存时间”属性(或实际上,任何属性)用于Hazelcast分布式映射θ
我想避免不必改变Hazelcast配置XML此。
我使用Hazelcast版本1.7.1
解决方案
您可以通过编程方式在Hazelcast设置一切开始的1.7.1版本。 您需要创建一个配置对象,并将其传递。
下面是你如何在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最后即将释放。我建议你切换到该版本。
干杯...
不隶属于 StackOverflow