检测集群节点故障Jboss AS 7.1.1-Final

时间:2013-02-05 07:12:21

标签: jboss7.x infinispan

我在Jboss AS 7.1.1-Final中配置了2个节点clusers。我打算使用粘性会话。与此同时,我还记录了Infinispan缓存中活动在线用户的数量,其中节点IP来自创建用户会话以进行报告的目的。

我已经处理了登录/注销的场景,我将清除缓存条目。问题是如果其中一个服务器节点出现故障,我需要编写清理例程以从缓存中清除该节点的这些记录。

其中一个选项是编写客户端并在特定时间间隔检查服务器是否处于活动状态,否则会触发清理例程。这种方法可行,但我正在寻找更清洁的方法,如果我能检测到服务器节点故障,通知其他实时节点然后我可以打击清理。

从控制台我知道它显示服务器何时停机或启动。但是listerner会听这样的事情是什么。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

如果您只需要知道节点何时离开某个服务器模块(JBoss服务器内部),您可以使用ViewChanged listener

您无法在通过REST或memcached协议连接的客户端上获取此信息 - 使用HotRod协议它是可行但非常hackish,您必须覆盖 TransportFactory.updateServers (可能只是扩展 TcpTransportFactory - 请参阅配置属性infinispan.client.hotrod.transport_factory)