我刚刚将我的应用程序更新到WebLogic 12c,并发现在现有属性上调用session.setAttribute()不会更新它。
例如,假设我有一个名为myData的对象,其字符串为firstName ==" John。"然后我首先在MY_DATA_ATTR属性中设置myData,如下所示:
request.getSession(false).setAttribute(MY_DATA_ATTR, myData);
当我稍后调用request.getSession(false).getAttribute(MY_DATA_ATTR)时,它会获得我期望的数据。但是如果用户进行了更改,以便firstName ==" Joe",我的代码又会再次调用
request.getSession(false).setAttribute(MY_DATA_ATTR, myData);
会话对象仍然具有firstName ==" John"而不是" Joe"。
我使用完全相同的代码在WebLogic 11g和12c之间来回切换,在11g环境中,会话对象按预期更改。我有什么办法可以在weblogic配置中修复它吗?否则我唯一能想到的就是改变代码,这不是我想要处理的东西。