WebLogic設(shè)置session超時(shí)時(shí)間
2008年06月05日 星期四 21:23
WebLogic如何設(shè)置session超時(shí)時(shí)間
1 web.xml
設(shè)置WEB應(yīng)用程序描述符web.xml里的<session-timeout>元素。這個(gè)值以分鐘為
單位,并覆蓋weblogic.xml中的TimeoutSecs屬性
<session-config>
<session-timeout>54</session-timeout>
</session-config>
此例表示Session將在54分鐘后過期
當(dāng)<session-timeout>設(shè)置為-2,表示將使用在weblogic.xml中設(shè)置的
TimeoutSecs這個(gè)屬性值。
當(dāng)<session-timeout>設(shè)置為-1,表示Session將永不過期,而忽略在
weblogic.xml中設(shè)置的TimeoutSecs屬性值。
該屬性值可以通過console控制臺(tái)來設(shè)置
2 weblogic.xml
設(shè)置WebLogic特有部署描述符weblogic.xml的<session-descriptor>元素的
TimeoutSecs屬性。這個(gè)值以秒為單位
<session-descriptor>
<session-param>
<param-name>TimeoutSecs</param-name>
<param-value>3600</param-value>
</session-param>
</session-descriptor>
默認(rèn)值是3600秒
3,jsp中控制
session.setmaxinactiveinterval(7200);
session是默認(rèn)對(duì)象,可以直接引用,單位秒s
4,servlet中控制
httpsession session = request.getsession();
session.setmaxinactiveinterval(7200);
單位秒s
在weblgoic的console中:xxDomain->Servers->xxServer->Protocols->HTTP 中有一個(gè)關(guān)于Post Timeout的配置,但這個(gè)參數(shù)一般使用默認(rèn)值即可
一般是通過Services-->JDBC-->Connection Pools-->MyConnection(你所建立的連接池名)-->Configration-->Connections 里的Inactive Connection Timeout這個(gè)參數(shù)來設(shè)置的,默認(rèn)的為0,表示連接時(shí)間無限長(zhǎng)。你可以設(shè)一個(gè)時(shí)間值,連接超過這個(gè)時(shí)間值,它會(huì)把連接強(qiáng)制放回連接池
<Server AcceptBacklog="62" CompleteHTTPMessageTimeout="480"
CompleteMessageTimeout="480" IdleConnectionTimeout="600"
ListenAddress="" ListenPort="7001" Name="myserver"
NativeIOEnabled="true" ReliableDeliveryPolicy="RMDefaultPolicy"
ServerVersion="8.1.4.0">
是否IdleConnectionTimeout參數(shù)
看連接池中高級(jí)選項(xiàng)內(nèi)的Inactive Connection Timeout和Connection Reserve Timeout時(shí)多少, 把這兩項(xiàng)設(shè)大些試試
如果在兩個(gè)文件中同時(shí)設(shè)置了超時(shí)時(shí)間,則會(huì)以web.xml中為準(zhǔn)。
所以在weblogic環(huán)境中,最好將web.xml中關(guān)于超時(shí)的設(shè)置刪掉,保持唯一性。
這也是一個(gè)客戶發(fā)現(xiàn)了問題后,多次實(shí)驗(yàn)后發(fā)現(xiàn)的。
<session-param>
<param-name>TimeoutSecs</param-name>
<param-value>7200</param-value>
</session-param>
</session-descriptor>
<session-config>
<session-timeout>30</session-timeout>
這也是一個(gè)客戶發(fā)現(xiàn)了問題后,多次實(shí)驗(yàn)后發(fā)現(xiàn)的。
今天上午聯(lián)創(chuàng)科技的一個(gè)朋友問題一個(gè)他們的問題.出現(xiàn)大量的:
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.>
一看明顯是連接超時(shí), 導(dǎo)致的錯(cuò)誤.
- 程序問題,是不是程序中沒有關(guān)閉連接
- 如果程序沒問題,則是weblogic的
StuckThreadMaxTime設(shè)置過小而引起的,一般weblogic server 的
StuckThreadMaxTime默認(rèn)參數(shù)是600s,即10分鐘,如果并發(fā)量過大,而導(dǎo)致等待處理過多,
導(dǎo)致系統(tǒng)不停的增加線程,造成線程阻塞,你可以把該參數(shù)設(shè)置大點(diǎn)這個(gè)是稍微調(diào)大
StuckThreadMaxTime的參數(shù)即可.
- 看線程數(shù)設(shè)置,可適當(dāng)增加線程數(shù),這個(gè)在WLS控制臺(tái)中可以調(diào)整
posted on 2013-12-06 12:27 奮斗成就男人 閱讀(307) 評(píng)論(0) 編輯 收藏