2010-02-24 5 views
5

Hazelcast의 분산지도에 대해 "time to live"속성 (또는 실제로 모든 속성)을 프로그래밍 방식으로 설정하는 방법이 있습니까?Hazelcast에서지도의 프로그래밍 속성 설정?

저는 이것을 위해 Hazelcast config XML을 변경하지 않으려합니다.

나는 당신은 1.7.1 버전부터 시작 Hazelcast 프로그래밍 방식 모두를 설정할 수 있습니다 Hazelcast 버전 1.7.1

답변

9

을 사용하고 있습니다. Config 객체를 만들어 전달해야합니다.

//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.getMap ("myMapName")와 같은지도를 얻을 수 Hazelcast 정적 메소드를 사용하는 경우 Hazelcast 1.7.1

에서 그것을 할 방법입니다

그러나 Hazelcast.newHazelcastInstance를 사용하여 Hazelcast 인스턴스를 생성하는 경우이 메소드에 config를 전달하십시오. 그런 다음 인스턴스에서 맵을 가져옵니다. 이렇게하면 같은 JVM에서 여러 개의 hazelcast 인스턴스를 생성 할 수 있습니다. 여기에 코드 구성 객체를 생성 hazelcast 최신 버전에서

HazelcastInstance h = Hazelcast.newHazelcastInstance(myConfig); 

h.getMap("myMapName"); 

도 간단입니다 : 최종 Hazelcast 1.8.1가 릴리스하는 것입니다 그런데

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

. 그 버전으로 전환하는 것이 좋습니다.

건배 ...

+0

감사합니다. Fuad, 그게 내가 찾고 있던 것입니다. –