2017-01-10 35 views
0

对于map,我们可以配置加载程序以从数据源(数据库)加载数据。 装载机配置为:Hazelcast - 用于复制地图的加载程序

<map name="map-*"> 
     <map-store enabled="true" initial-mode="LAZY"> 
     <class-name>com.xyz.loader.CustomMapLoader<class-name> 
     </map-store> 
    </map> 

如何加载相同的复制地图?或者我们可以将地图转换为复制地图吗?

回答

1

复制的地图不支持MapStore/MapLoader,你不能转换,因为IMap实现ConcurrentMap,其中为ReplicatedMap实现Map
最好的方法是在Hazelcast节点的初始启动期间加载ReplicatedMap,或者您可以将其作为IMap的Entry处理器的一部分作为延迟加载来执行。

Hazelcast文档对于谨慎使用此地图有多个警告,因为它不是线程安全的,读取陈旧数据的机会更多。顺便说一句,这个功能的用途是什么?

+0

我们需要在地图上运行分布式任务,其中任务需要查找一些用于该目的的小表格用于数据局部性的复制地图。 –

+0

好的。说得通。您也可以从客户端触发一个任务,作为executorservice来初始加载该数据。 –

相关问题