2010-12-16 49 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名稱。