Hazelcast阻止侦听器直到缓存加载

时间:2016-07-13 07:15:27

标签: java caching hazelcast

我是hazecast的新手,目前我正在维护一个系统,其中我有2个缓存[在单个实例中基本上是2个地图]缓存1和缓存2。

当我的Hazelcast服务器启动时,我和Cache2加载后会触发一个监听器。但是缓存1尚未加载,并且侦听器也尝试从Cache1读取,这也是业务需求。

我有没有找到Cache1是在监听器的触发器上加载还是阻止触发,直到cache1也被加载。

1 个答案:

答案 0 :(得分:0)

不,根据MapA的加载,无法检查Map是否已加载,也无法阻止MapB上的侦听器触发器。这是两个独立的数据结构。

您可以尝试将MapA的InitialLoadingMode设置为延迟,以便在触摸记录时仅加载触摸的分区。它比完全加载地图要快。

您也可以在MapA上调用loadAll - 它是一个阻塞调用,因此只有在地图加载后它才会返回。然后你开始玩MapB - 它在这个阶段100%肯定听众不会阻止。