0

我在集群中的两台机器上使用 JBoss 部署了一个应用程序。当用户登录到一个应用程序服务器时,我已经验证会话已复制到另一个集群(使用相同的 cookie 登录到另一个服务器确认了这一点)。

JBoss 使用 Infinispan 和 JGroups 自动处理这种复制,分别用于缓存和消息传递。我的问题是:如何获取第二台服务器中每个复制会话的句柄?

现在管理HttpSession实例的常规方法是实现在添加新会话时HttpSessionListener调用方法的接口。sessionCreated(HttpSession s)这适用于第一台服务器,但这不适用于第二台服务器,因为:服务器 1 中的会话被序列化、复制,然后在第二台服务器中反序列化,这绕过了构造函数,因此不允许会话注册到HttpSessionListener监听器。

是否有另一种可能在复制会话时获取会话句柄?我是否可以监听反序列化事件(甚至可能)或做其他事情?

4

0 回答 0