2010-12-16 169 views
5

我遇到了weblogic的一个奇怪问题。我们的一个工作站拥有2个weblogic实例。问题是当我登录其中一个会话时,另一个会话会自动过期,反之亦然。它会是什么?如何处理这个问题?weblogic会话问题

+0

两台机器上的登录ID相同吗?你是否以管理员身份登录? – duffymo 2010-12-16 12:43:22

+0

登录ID是什么意思?无论我登录哪个用户,无论如何,其他实例上的会话都会自动过期。 – mykola 2010-12-16 13:49:15

回答

10

如果会话ID存储在客户端的cookie中,请确保cookie的名称是不是你都WebLogic实例相同。更改cookie的名称

一种方法是创建一个在你的web应用(或在你的耳朵的weblogic-application.xml中命名的weblogic.xml文件,仅仅通过更换标签的weblogic-web-app的包含下列WebLogic应用)(根据您的需要)定制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> 
+0

好吧,我会尝试,但实际上它是一个相同的应用程序(当然不是物理上)在两个实例上运行:一个用于开发需求,另一个用于测试。所以,实际上这两个应用程序都有相同的weblogic.xml。但更奇怪的是,我们的演示weblogic实例和jira在另一台工作站上有时会出现同样的问题。出于某种原因,某些用户遇到同样的问题:当用户登录到jira时,他会自动从weblogic注销,反之亦然。这很奇怪,因为它只出现在一些选定的用户身上。 – mykola 2010-12-16 13:58:59

+0

mukola我假设你正在用完不同的战争/部署。因此,对于不同的部署,weblogic.xml中有不同的变体 – Aaron 2011-09-14 14:46:03

+0

在WebLogic 8上,它仍然设置在会话描述符中,但必须将它作为名称/值对添加,请参阅http://docs.oracle .COM/CD/E13222_01/WLS/docs81/web应用/ weblogic_xml.html。例如:​​CookieName TESTSESSION Peter 2012-09-06 15:34:17

1

,因为它们是在同一台机器上运行,你的浏览器可以看到一个主机(即本地主机)。因为java webapps的默认会话cookie是JSESSIONID,并且都使用这个cookiename,它们将相互覆盖。

解决方案是通过两次启动IE来打开2个IE浏览器窗口。在这种情况下,他们将获得他们自己的会话cookie。 Unfortunalty这不适用于Firefox和Chrome。

nawre提到了另一种解决方案,通过给2个webapps一个不同的会话cookie名称。