Mark's Java Blog
          MyEclipse, Java EE, Spring, Struts, Hibernate, JPA, SWT, Swing, AJAX, JavaScript,SOA
          問題描述

          集成項目HT實施過程中碰到這樣的問題,本次集成是把兩個不同的應用集成到同一個頁面框架下,部署方式為:

          同一個Server ServerName = Server01,同一個Weblogic,分別建立兩個Domain,Domain01(port-7001)和Domain02(port-7002),將應用App1部署在Domain01,將應用App2部署在Domain02,同時啟動這兩個Domain,如果完全是默認配置,單獨訪問兩個應用是沒有問題的,但是在同一個客戶端如果訪問App1之后再訪問APP2會發現App1的Session丟失。

          問題分析

          客戶端在訪問App1時,Domain01會在該客戶端保留一個名為 JSessionID的Cookie,記錄了Domain01的信息,JSessionID為Weblogic cookie-name的默認值,當同一個客戶端訪問App2時,該客戶端Cookie中JSessionID的值被Domain02刷新,此時如果在之前已經打開的IE中繼續訪問App1會發現Session丟失(JSessionID已經被Domain02刷新!)。

          解決方案

          第一種方案

          在App1和App2的weblogic.xml文件添加如下屬性

          <session-descriptor>
           <session-param>
           <param-name>CookieName</param-name>
           <param-value>myCookie1</param-value>
           </session-param>
           </session-descriptor>

          將 的值更改為不同于默認值就可以

          如果不添加這個,那么客戶端的COOKIE中保存的SESSION ID的對象名字是JSESSIONID,來自同一個SERVER上面的應用可能會造成這個SESSION ID的丟失,因為只要是WEBLOGIC產生的SESSION ID都是保存在這個名字的COOKIE中,這段配置就是把應用中的這個名字換成我們私有的,避免和其它域中的應用產生的JSESSIONID沖突。

          第二種方案

          訪問App1時用IP來訪問,訪問App2時用域名來訪問。

          特別注意

          如果應用程序部署為Cluster的模式,將無法設定,否則部署時發生錯誤。
          posted on 2008-04-01 16:47 Mark 閱讀(5231) 評論(5)  編輯  收藏 所屬分類: weblogic
          Comments
          • # re: 同一個Server Weblogic兩個Domain CookieName沖突導致session失效問題
            wjqnet
            Posted @ 2009-03-03 22:26
            求助:我也遇到相同的問題,但我是cluster的,那應該怎么辦呢?  回復  更多評論   
          • # re: 同一個Server Weblogic兩個Domain CookieName沖突導致session失效問題
            阿宗
            Posted @ 2009-07-25 19:21
            那,請問,一臺是App1是Weblogic,但另一臺是tomcat時,該怎麼處理?  回復  更多評論   
          • # re: 同一個Server Weblogic兩個Domain CookieName沖突導致session失效問題[未登錄]
            mark
            Posted @ 2009-07-27 09:41
            @阿宗

            不同服務器不存在我所描述的這類沖突  回復  更多評論   
          • # re: 同一個Server Weblogic兩個Domain CookieName沖突導致session失效問題
            阿宗
            Posted @ 2009-07-31 21:43
            不好意思,我最近案子就發生這種情況,tomcat的session失效了  回復  更多評論   
          • # re: 同一個Server Weblogic兩個Domain CookieName沖突導致session失效問題[未登錄]
            mark
            Posted @ 2009-08-03 09:52
            @阿宗
            那主要是瀏覽器的session id改變了或者失效了造成的服務器端無法識別session  回復  更多評論   

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
           
          主站蜘蛛池模板: 乾安县| 庆元县| 镇江市| 郸城县| 西和县| 福建省| 凤庆县| 青州市| 颍上县| 临安市| 婺源县| 柘城县| 湖口县| 苏尼特右旗| 大渡口区| 建始县| 三门县| 武夷山市| 玉龙| 靖西县| 湖州市| 晋州市| 平果县| 邳州市| 合川市| 承德县| 龙南县| 应用必备| 廉江市| 钟山县| 柞水县| 维西| 偏关县| 金华市| 长垣县| 天台县| 清水河县| 桐城市| 高平市| 昭苏县| 冕宁县|