我遇到了一个与weblogic有关的奇怪问题。我们的一个工作站托管了2个weblogic实例。问题是当我登录其中一个时,另一个会话会自动过期,反之亦然。它能是什么?如何处理这个问题?
答案 0 :(得分:10)
如果会话ID存储在客户端的cookie中,请确保您的weblogic实例上的cookie名称不同。
更改Cookie名称的一种方法是在您的Web应用程序中创建一个名为 weblogic.xml 的文件(或者在您的EAR中创建 weblogic-application.xml ,只需替换标记 weblogic-web-app 的 weblogic-application ),其中包含以下内容(根据您的需要自定义Cookie名称):
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90">
<session-descriptor>
<cookie-name>MyCookieName</cookie-name>
</session-descriptor>
</weblogic-web-app>
答案 1 :(得分:1)
因为它们在同一台机器上运行,所以您的浏览器会看到一个主机(即localhost)。由于java webapps的默认会话cookie是JSESSIONID,并且两者都使用这个cookiename,因此它们将相互覆盖。
解决方案是通过启动IE两次打开2个IE浏览器窗口。在这种情况下,他们将获得自己的会话cookie。不幸的是,这对Firefox和Chrome不起作用。
nawre提到了另一个解决方案,为2个webapps提供了不同的会话cookie名称。