Caching 在运行时更改hazelcast配置

Caching 在运行时更改hazelcast配置,caching,hazelcast,Caching,Hazelcast,是否可以在运行时更改Hazelcast配置,如果可以,哪些参数是可修改的 似乎可以使用,但在官方文档/论坛中找不到任何示例/参考 Hazelcast内部构件并非真正设计为可修改的。您想修改什么?回答您的问题可能有点晚,但迟做总比不做要好:) 使用MapService创建地图后,可以修改一些地图配置属性: HazelcastInstance instance = Hazelcast.newHazelcastInstance(); // create map IMap<String, Int

是否可以在运行时更改Hazelcast配置,如果可以,哪些参数是可修改的


似乎可以使用,但在官方文档/论坛中找不到任何示例/参考

Hazelcast内部构件并非真正设计为可修改的。您想修改什么?

回答您的问题可能有点晚,但迟做总比不做要好:)

使用MapService创建地图后,可以修改一些地图配置属性:

HazelcastInstance instance = Hazelcast.newHazelcastInstance();

// create map
IMap<String, Integer> myMap = instance.getMap("myMap");

// create a new map config
MapConfig newMapConfig = instance.getConfig().getMapConfig("myMap").setAsyncBackupCount(1);

// submit the new map config to the map service
MapService mapService = (MapService)(((AbstractDistributedObject)instance.getDistributedObject(MapService.SERVICE_NAME, "")).getService());
mapService.getMapServiceContext().getMapContainer("myMap").setMapConfig(newMapConfig);
HazelcastInstance=Hazelcast.newHazelcastInstance();
//创建地图
IMap myMap=instance.getMap(“myMap”);
//创建一个新的映射配置
MapConfig newMapConfig=instance.getConfig().getMapConfig(“myMap”).setAsyncBackupCount(1);
//将新地图配置提交到地图服务
MapService MapService=(MapService)((AbstractDistributedObject)实例.getDistributedObject(MapService.SERVICE_NAME,”).getService();
mapService.getMapServiceContext().getMapContainer(“myMap”).setMapConfig(newMapConfig);
请注意,此API不可见/没有文档记录,因此在将来的版本中可能无法工作


当我们需要在启动时在分布式映射中插入数百万个条目时,我们在应用程序中使用了它。禁用备份将插入时间缩短30%。插入数据后,我们将启用备份。

是的,我发现在运行时修改最大缓存大小也很有用。您能否为其设置github问题,以便我们跟踪它。如果您检查com.hazelcast.management包中的代码,特别是UpdateMapConfigOperation,那么您将看到如何完成它。我认为最好通过JMX公开这一点。不幸的是,它不会影响近缓存的配置,也不会影响次要版本(如3.4.x)中的不同行为。hazelcast的官方回复是不支持动态配置更改,他们不会在添加此类功能上花费时间(sadpanda)。