infinispan-节点之间的同步-状态转移-通知

时间:2018-12-17 13:54:14

标签: caching infinispan

在我的应用程序中,我在同一台计算机上的两个实例中部署了一个微服务,该微服务允许我使用infnispan将一些数据插入缓存中。首先,我只启动了一个实例,然后将相同的数据放入缓存中,但是当我启动第二个实例时,我注意到它们之间存在同步……这是正常的,因为第二个实例已加入集群。 (供您参考,即时消息使用jgroups进行集群)。 因此,当我调用服务以获取第二个实例的相同数据时,它没有应答,因为它处于同步阶段,因此他没有数据。但是当他完成时,他给了我答复;

所以我的问题是我怎么知道这两个实例之间的同步已终止? infinispan中有一种方法可以通知我infinispan中的节点之间的同步已完成吗?

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

这种同步称为“状态传输”,您可以使它处于阻塞状态(即节点在响应之前先等待初始传输),也可以使其不阻塞(这意味着它们立即响应请求,如果尚未响应则远程检索条目)还没有被转让)。 您可以通过注册https://github.com/hannehanen/NotWorkingCFXSpringBootRS

的缓存侦听器来接收状态转移完成的事件

您可以通过在缓存状态传输配置中将DataRehashedEvent属性设置为false来使状态传输不阻塞