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 閱讀(5230) 評論(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  回復  更多評論   

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


          網站導航:
           
           
          主站蜘蛛池模板: 定州市| 东乌| 大安市| 读书| 登封市| 乌拉特后旗| 遵义县| 焉耆| 新绛县| 社旗县| 泰兴市| 伊金霍洛旗| 雅江县| 新乡市| 新巴尔虎左旗| 临城县| 麻栗坡县| 安徽省| 神木县| 灵川县| 阜新市| 改则县| 黑山县| 子长县| 河东区| 云和县| 简阳市| 天气| 微山县| 蓝山县| 措勤县| 晋宁县| 隆子县| 改则县| 广汉市| 凤庆县| 阳东县| 呼玛县| 二连浩特市| 城市| 黔西县|