yxhxj2006

          常用鏈接

          統計

          最新評論

          WebLogic設置session超時時間

          說明:本文轉載自http://hi.baidu.com/%BF%AA%D0%C4%BE%CD%BA%C3_999/blog/item/cbc81c4a9666d32608f7efd7.html


          2008年06月05日 星期四 21:23

          WebLogic如何設置session超時時間
          1 web.xml

          設置WEB應用程序描述符web.xml里的<session-timeout>元素。這個值以分鐘為
          單位,并覆蓋weblogic.xml中的TimeoutSecs屬性
          <session-config>
              <session-timeout>54</session-timeout>
          </session-config>
          此例表示Session將在54分鐘后過期
          當<session-timeout>設置為-2,表示將使用在weblogic.xml中設置的
          TimeoutSecs這個屬性值。
          當<session-timeout>設置為-1,表示Session將永不過期,而忽略在
          weblogic.xml中設置的TimeoutSecs屬性值。
          該屬性值可以通過console控制臺來設置

          2 weblogic.xml

          設置WebLogic特有部署描述符weblogic.xml的<session-descriptor>元素的
          TimeoutSecs屬性。這個值以秒為單位
          <session-descriptor>
             <session-param>
                <param-name>TimeoutSecs</param-name>
                <param-value>3600</param-value>
             </session-param>
          </session-descriptor>
          默認值是3600秒

          3,jsp中控制
          session.setmaxinactiveinterval(7200);
          session是默認對象,可以直接引用,單位秒s

          4,servlet中控制
          httpsession session = request.getsession();
          session.setmaxinactiveinterval(7200);
          單位秒s

          在weblgoic的console中:xxDomain->Servers->xxServer->Protocols->HTTP 中有一個關于Post Timeout的配置,但這個參數一般使用默認值即可

          一般是通過Services-->JDBC-->Connection Pools-->MyConnection(你所建立的連接池名)-->Configration-->Connections 里的Inactive Connection Timeout這個參數來設置的,默認的為0,表示連接時間無限長。你可以設一個時間值,連接超過這個時間值,它會把連接強制放回連接池

          <Server AcceptBacklog="62" CompleteHTTPMessageTimeout="480"
          CompleteMessageTimeout="480" IdleConnectionTimeout="600"
          ListenAddress="" ListenPort="7001" Name="myserver"
          NativeIOEnabled="true" ReliableDeliveryPolicy="RMDefaultPolicy"
          ServerVersion="8.1.4.0">
          是否IdleConnectionTimeout參數

          看連接池中高級選項內的Inactive Connection Timeout和Connection Reserve Timeout時多少, 把這兩項設大些試試

          如果在兩個文件中同時設置了超時時間,則會以web.xml中為準。
          所以在weblogic環境中,最好將web.xml中關于超時的設置刪掉,保持唯一性。
          這也是一個客戶發現了問題后,多次實驗后發現的。

           

           

           

          如果使用WEBLOGIC作為應用服務器,設置SESSION超時時間會選擇在WEBLOGIC的控制臺設定。實際上,WEBLOGIC是將超時設定保存在WEB-INF下的weblogic.xml中,格式如下:
          <session-descriptor>
              <session-param>
                <param-name>TimeoutSecs</param-name>
                <param-value>7200</param-value>
              </session-param>
          </session-descriptor>
          param-value中的數值就是超時時間,單位為秒。在設置完這個參數后,會發現超時時間并一定起效。這是為什么呢?
          原來在WEB-INF下還有一個配置文件web.xml,里面同樣會有一段設置session,格式如下:

          <session-config>

              <session-timeout>30</session-timeout>

          </session-config>
          session-timeout中的值也是超時時間,單位為分鐘。
          如果在兩個文件中同時設置了超時時間,則會以web.xml中為準。
          所以在weblogic環境中,最好將web.xml中關于超時的設置刪掉,保持唯一性。

          這也是一個客戶發現了問題后,多次實驗后發現的。

           

           

          今天上午聯創科技的一個朋友問題一個他們的問題.出現大量的:

          ueue: ‘billproxyqueue’ has been busy for “727″ seconds working on the request “Http Request: /bill/y
          nQueryPublic.go”, which is more than the configured time (StuckThreadMaxTime) of “600″ seconds.>

          一看明顯是連接超時, 導致的錯誤.

          1. 程序問題,是不是程序中沒有關閉連接
          2. 如果程序沒問題,則是weblogic的StuckThreadMaxTime設置過小而引起的,一般weblogic server 的StuckThreadMaxTime默認參數是600s,即10分鐘,如果并發量過大,而導致等待處理過多,導致系統不停的增加線程,造成線程阻塞,你可以把該參數設置大點這個是稍微調大StuckThreadMaxTime的參數即可.
          3. 看線程數設置,可適當增加線程數,這個在WLS控制臺中可以調整

          posted on 2013-12-06 12:27 奮斗成就男人 閱讀(307) 評論(0)  編輯  收藏


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


          網站導航:
           
          主站蜘蛛池模板: 马鞍山市| 阿合奇县| 普兰店市| 铜川市| 静安区| 共和县| 安化县| 丰原市| 泰安市| 通江县| 玉田县| 安达市| 六盘水市| 青田县| 汤阴县| 砚山县| 库伦旗| 桦川县| 孙吴县| 东光县| 土默特左旗| 云浮市| 柘城县| 漳州市| 达拉特旗| 富川| 宝鸡市| 瑞昌市| 周至县| 嘉兴市| 楚雄市| 长泰县| 赫章县| 壶关县| 南雄市| 宁河县| 东兴市| 东乡| 朝阳市| 莱芜市| 五莲县|