質問

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

私はこのためHazelcastコンフィグXMLを変更することを避けるためにしたい。

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

役に立ちましたか?

解決

あなたは1.7.1バージョンで始まるHazelcastでプログラムのすべてを設定することができます。 あなたは、Configオブジェクトを作成し、それを渡す必要があります。

ここでは、Hazelcast 1.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");
configオブジェクトを作成hazelcast最新版では

はさらに簡単です。

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

最終Hazelcast 1.8.1がリリースしようとしているところで。私はあなたがそのバージョンに切り替えることをお勧めします。

乾杯...

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top