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  回復  更多評論   

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


          網站導航:
           
           
          主站蜘蛛池模板: 泰来县| 漾濞| 连江县| 林口县| 湄潭县| 十堰市| 凌云县| 临泽县| 绥德县| 阿图什市| 漳浦县| 松原市| 长宁区| 佛教| 德令哈市| 黎平县| 阜阳市| 鄱阳县| 景谷| 株洲市| 五原县| 米林县| 乾安县| 西充县| 陵水| 那坡县| 哈密市| 杨浦区| 昌乐县| 青川县| 隆昌县| 扶风县| 天等县| 钟祥市| 社旗县| 平和县| 昆山市| 宜兰县| 澄江县| 龙州县| 黑河市|