0

我正在使用 Jetty 8,目前有两个实例设置并在循环负载均衡器后面运行。我已将其配置为通过 MongoDB 使用会话复制。它工作得很好,有两个例外。我将在这里包括一个,另一个在另一个问题中。

  1. 当另一个节点上的同一会话超时时,可以使其中一个节点上的会话保持活动状态。一旦您点击超时节点,行为就好像会话已过期,即使存在来自另一个节点上的用户的活动。

有没有人有什么建议?我即将开始深入研究 jetty-nosql 的实现,但如果有人可以为我节省一些时间,我会很高兴。

4

1 回答 1

0

事实证明,上述行为是由于 nosqlSession 管理器中的错误造成的。从数据库读取会话时,它不会更新上次访问时间。因此,如果在会话超时期限内未访问节点,则无论是否访问了任何其他节点,都会使会话无效。我已提交此错误报告: https ://bugs.eclipse.org/bugs/show_bug.cgi?id=397193

我们通过对错误中指示的文件进行自定义修改来修复它,以便在从数据库刷新会话时使用存储在数据库中的访问时间更新会话的访问时间。

于 2013-03-19T21:28:29.183 回答