java datagrid cluster-computing hazelcast

java - Configuración de propiedad programática para mapas en Hazelcast?



hazelcast spring boot (1)

Puede establecer todo programáticamente en Hazelcast comenzando con la versión 1.7.1. Necesita crear un objeto Config y pasarlo.

Aquí es cómo lo haces en Hazelcast 1.7.1

Si está utilizando métodos estáticos de Hazelcast para obtener un mapa, como Hazelcast.getMap ("myMapName"), entonces esta es la manera:

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

Pero si está creando instancias de Hazelcast con Hazelcast.newHazelcastInstance, pase las configuraciones a este método. luego obtén el mapa de la instancia. De esta forma, puede crear múltiples instancias de hazelcast en la misma JVM. Aquí está el código

HazelcastInstance h = Hazelcast.newHazelcastInstance(myConfig); h.getMap("myMapName");

En Hazelcast, la última versión de crear el objeto de configuración es aún más simple:

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

Por cierto, Hazelcast 1.8.1 final está a punto de lanzarse. Te sugiero que cambies a esa versión.

Aclamaciones...

¿Hay alguna manera de establecer programáticamente la propiedad "tiempo de vida" (o de hecho, cualquier propiedad) para un mapa distribuido en Hazelcast?

Quiero evitar tener que cambiar el XML de configuración de Hazelcast para esto.

Estoy usando Hazelcast versión 1.7.1