0

我在 Websphere 6 中的 http 会话有一个陈旧的属性,可能与内存会话复制有关。

脚步:

  1. 对象 A.0 - 放置在 ID 为“ABC”的会话中
  2. 从会话中删除 A.0..
  3. 对象 A.1(新实例) - 放入 ID 为“ABC”的会话中
  4. 从会话中检索 ID 为“ABC”的对象 - 结果:A.1(正确)
  5. 执行 Servlet 转发或重定向(在这两个函数上都看到了问题)..
  6. 从会话中检索“ABC” - 结果:A.0,从会话中删除的对象..

备注 -

  • 步骤 1-5 中使用的相同 Session 对象(哈希码/会话 ID)在 2 个 JVM(单集群)中使用内存复制
  • 第 2 步和第 5 步之间的持续时间总共为 4 秒
  • 在此期间没有其他外部线程访问过该会话。
  • 仅注意到 1 个特定用例;在其他用例中没有遇到过这个
    ..

在从 websphere 应用程序服务器返回过时数据之前,任何人都见过这样的事情吗?

谢谢,

伊恩。

4

1 回答 1

0

在转发/重定向之前,您是否明确将更改的对象写回会话?至少在 WebSphere 的某些版本中,在某些配置中,您必须这样做以确保“提交”更改。

(如果我找到明确的参考,我会更新我的答案。)

于 2012-06-14T13:54:18.947 回答