Hazelcastでマップのプログラムによるプロパティの設定?
-
22-09-2019 - |
質問
は、プログラム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がリリースしようとしているところで。私はあなたがそのバージョンに切り替えることをお勧めします。
乾杯...
所属していません StackOverflow