我是hazecast的新手,目前我正在维护一个系统,其中我有2个缓存[在单个实例中基本上是2个地图]缓存1和缓存2。
当我的Hazelcast服务器启动时,我和Cache2加载后会触发一个监听器。但是缓存1尚未加载,并且侦听器也尝试从Cache1读取,这也是业务需求。
我有没有找到Cache1是在监听器的触发器上加载还是阻止触发,直到cache1也被加载。
答案 0 :(得分:0)
不,根据MapA的加载,无法检查Map是否已加载,也无法阻止MapB上的侦听器触发器。这是两个独立的数据结构。
您可以尝试将MapA的InitialLoadingMode
设置为延迟,以便在触摸记录时仅加载触摸的分区。它比完全加载地图要快。
您也可以在MapA上调用loadAll - 它是一个阻塞调用,因此只有在地图加载后它才会返回。然后你开始玩MapB - 它在这个阶段100%肯定听众不会阻止。