我有IBM 指定的 Bayeux 实现。在独立环境中它可以正常工作,但是当我们将它投入生产(集群化)时,会话会在一段时间后丢失。我们使用 SIBUS 作为总线实现和默认消息传递提供程序。在 SIBUS 中,我们使用基于数据库的数据存储。我们的 Web 服务器是 WebSEAL。
我们确信这不是复制问题,因为:
- 粘性会话已启用
- 启动后,每个参与者都可以看到彼此,这意味着无论您在哪里登录,会话都会被两台服务器复制。
主要症状是在正常工作几分钟后,长轮询请求挂起,直到发生来自客户端的新请求。任何地方都没有例外。
我仍然无法判断我的问题是与 SIBUS 配置有关,还是与 WebSEAL 配置有关。
任何帮助将不胜感激。IBM 文档不是最好的,我们一直在测试在几个文档中找到的每一条建议,但都没有成功。
编辑: 经过一些测试,我发现这种行为也发生在非集群环境中。我还看到代码 CWPSB1314W 的异常,它什么也没给我。