dav*_*ber 5 java datagrid cluster-computing hazelcast
有没有办法以编程方式为Hazelcast中的分布式地图设置"生存时间"属性(或实际上是任何属性)?
我想避免为此更改Hazelcast配置XML.
我正在使用Hazelcast版本1.7.1
您可以在1.7开始的Hazelcast中以编程方式设置所有内容.您需要创建一个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);
Run Code Online (Sandbox Code Playgroud)
但是,如果您使用Hazelcast.newHazelcastInstance创建Hazelcast实例,则将配置传递给此方法.然后从实例获取地图.这样,您可以在同一JVM中创建多个hazelcast实例.这是代码
HazelcastInstance h = Hazelcast.newHazelcastInstance(myConfig);
h.getMap("myMapName");
Run Code Online (Sandbox Code Playgroud)
在hazelcast最新版本中,创建配置对象更简单:
Config config = new XmlConfigBuilder().build();
config.getMapConfig("myMapName").setTimeToLiveSeconds(10000);
Run Code Online (Sandbox Code Playgroud)
顺便说一句,Hazelcast 1.8.1决赛即将发布.我建议你切换到那个版本.
干杯...
| 归档时间: |
|
| 查看次数: |
6766 次 |
| 最近记录: |