当使用 Applet 客户端将 JAX-WS 架构与会话管理结合在一起时,我似乎陷入了一个有问题的场景。
为了保持会话,我在客户端的端口中添加了以下属性BindingProvider.SESSION_MAINTAIN_PROPERTY
。
然而,问题是,当我同时调用两个小程序实例(在两个选项卡上访问网站)时,会话在两个客户端之间混合。我怀疑这与多个小程序实例使用同一个 JVM 实例的事实有关,因此它们之间共享静态代码。但是,我无法弄清楚在这两种情况下都使用了哪个部分。
我已经肯定地验证了这个会话混合问题只发生在从同一个浏览器同时运行实例时,即当 JVM 静态代码被共享时。换句话说,会话管理代码在我测试过的任何其他情况下都能正常工作。