5

Hazelcastの分散マップの「存続時間」プロパティ(または実際には任意のプロパティ)をプログラムで設定する方法はありますか?

このためにHazelcast構成XMLを変更する必要はありません。

Hazelcastバージョン1.7.1を使用しています

4

1 に答える 1

9

1.7.1バージョン以降、Hazelcastですべてをプログラムで設定できます。Configオブジェクトを作成して渡す必要があります。

Hazelcast1.7.1での方法は次のとおりです。

Hazelcast.getMap( "myMapName")のように、Hazelcast静的メソッドを使用してマップを取得している場合は、次のようにします。

//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);

ちなみにHazelcast1.8.1ファイナルがリリースされようとしています。そのバージョンに切り替えることをお勧めします。

乾杯...

于 2010-02-24T12:55:11.467 に答える