我正在尝试将地图添加到正在运行的hazelcast群集中,但在我重新启动整个群集(销毁已经存储在那里的任何数据)之前,它似乎无法正常工作。
我正在尝试向hazelcast配置添加新地图。 xml看起来像:
<map name="com.example.token">
<map-store enabled="true">
<class-name>com.example.TokenMapLoader</class-name>
</map-store>
<in-memory-format>BINARY</in-memory-format>
<time-to-live-seconds>10800</time-to-live-seconds>
<max-idle-seconds>0</max-idle-seconds>
<eviction-policy>LRU</eviction-policy>
<max-size policy="PER_NODE">125000</max-size>
<eviction-percentage>25</eviction-percentage>
</map>
我希望能够通过更新每个节点的配置并重新启动它来进行滚动重启,让它重新加入现有的集群。当我尝试它时,地图为任何查找返回null,并且即使在所有节点都已更新之后,也永远不会调用MapLoader。我可能期望当一个实例没有正确的MapLoader时集群无法正常工作,但是在所有节点都有新的配置之后我假设地图将开始工作。
是否可以将地图添加到hazelcast群集而无需重启完整群集?
答案 0 :(得分:0)
正如Jérémie所提到的,目前在Hazelcast数据结构中无法动态更改配置。但是,如果您使用JCache很好,则可以使用动态配置,这是JCache规范本身的一部分。
对于Hazelcast数据结构,我们在积压工作中有这个,但尚未实施。