WebLogic如何设置session超时时间

Posted TwinStudio

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebLogic如何设置session超时时间相关的知识,希望对你有一定的参考价值。

1、web.xml 
设置WEB应用程序描述符web.xml里的<session-timeout>元素。这个值以分钟为单位,并覆盖weblogic.xml中的TimeoutSecs属性
  <session-config>
    <session-timeout>60</session-timeout>
  </session-config>
此例表示Session将在60分钟后过期
当<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


如果使用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中关于超时的设置删掉,保持唯一性。


web.xml的session-timeout设为-1,问题解决;

以上是关于WebLogic如何设置session超时时间的主要内容,如果未能解决你的问题,请参考以下文章

WebLogic 非活动连接超时和 JTA 超时

使用 oracle weblogic server 10.3 (java) 为 web 服务设置超时

hbase session超时时间是多少

windows7里的IIS里怎么设置session会话超时时间?

如何设置弹簧安全会话超时?

怎么设置session超时时间