2010-02-24 11 views
5

Hazelcast'de dağıtılmış bir harita için "yaşama süresi" özelliğini (veya aslında herhangi bir özelliği) programatik olarak ayarlamanın bir yolu var mı?Hazelcast'deki haritalar için program özellik ayarı?

Bunun için Hazelcast config XML'ını değiştirmek zorunda kalmak istemiyorum.

Ben Sen 1.7.1 sürümü ile başlayan Hazelcast içinde programlı herşeyi ayarlayabilirsiniz Hazelcast sürüm 1.7.1

cevap

9

kullanıyorum. Bir Config nesnesi oluşturmanız ve iletmeniz gerekiyor.

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

Eğer o zaman bu yolu Hazelcast.getMap ("myMapName") gibi, harita almak için Hazelcast statik yöntemler kullanıyorsa Hazelcast 1.7.1

içinde böyle yaparız

Ancak Hazelcast.newHazelcastInstance ile Hazelcast örnekleri oluşturuyorsanız, bu yöntemi yapılandırmaya geçirin. daha sonra örnekten harita alın. Bu şekilde, aynı JVM'de birden fazla tehlikeli örnek oluşturabilirsin. İşte kod yapılandırma nesnesi oluşturarak hazelcast son sürümünde

HazelcastInstance h = Hazelcast.newHazelcastInstance(myConfig); 

h.getMap("myMapName"); 

daha basit olmasıdır: Nihai Hazelcast 1.8.1 serbest bırakmak üzeredir arada

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

. Bu sürüme geçmenizi öneririm.

Şerefe ...

+0

teşekkürler Fuad, bu sadece aradığım şey –