亿信ABI
当前版本:BI4.7

关于操作超时设置方法


规则说明:可以在中间件上设置,也可以在产品war包中WEB-INF/web.xml中配置,不配置时默认是30分钟。当中间件和产品web.xml上均配置时,产品web.xml优先级更高。

一、产品Web.xml上配置方法

 

关于操作超时设置方法


把这句配置前后的注释去掉,然后修改数值,单位是分钟

注:此设置方法可适用于基于公共平台开发的产品(包括i和BI)

二、中间件上会话超时设置方法

2.1 Tomcat

tomcat的会话超时可以在多个级别上设置,从高到低有:tomcat实例级别、Web应 用级别、servlet级别以及运行时Context代码级别。较低级别的设定会覆盖较高级别的设定。

一般常用的是在前面两个级别上设置,分别在 /conf/web.xml和/webapps/yourapp/WEB-INF/web.xml(其中web应用级别设置即上面介绍的产品war包中设置方法),形如:


 


单位为分钟,默认值是30分钟。

另外servlet级别以及运行时Context代码级别设置可做了解:

 

1、在程序中通过servlet api直接修改

HttpSession ses = request.getSession();

ses.setMaxInactiveInterval(10);

设置单位为秒,设置为-1永不过期。

 

2、为单个Servlet指定会话超时时间

在WEB.XML中添加xml 代码,格式如下:

<servlet>    

 <servlet-name>Servlet名称</servlet-name>    

 <servlet-class>Servlet类路径</servlet-class>    

 <init-param>    

  <param-name>timeout</param-name>    

  <param-value>600</param-value>    

 </init-param>    

</servlet>    

例如:


 


3、在server.xml中定义context时采用如下定义:

<Context path="/livsorder" docBase="/home/httpd/html/livsorder"   

defaultSessionTimeOut="3600" isWARExpanded="true"   

isWARValidated="false" isInvokerEnabled="true"   

isWorkDirPersistent="false"/>

 

参考网址:

http://www.cnblogs.com/lcword/p/5777009.html

https://wenku.baidu.com/view/935e39ecb8f67c1cfad6b8bc.html

 

2.2 Weblogic

有4种方式设置超时时间:

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

 

参考网址:http://blog.csdn.net/big1980/article/details/6303890

 

备注:在weblgoic的console中:xxDomain->Servers->xxServer->Protocols->HTTP 中有一个关于Post Timeout的配置,但这个参数一般使用默认值即可。

BI中若出现如下报错,可能是Post Timeout参数值设置错误导致:


 关于操作超时设置方法


报错日志中有如下信息:


关于操作超时设置方法

解决方案:

在weblgoic的console中:xxDomain->Servers->xxServer->Protocols->HTTP Post Timeout:30 默认为30,改为80(单位是秒)

附件列表

4

文档内容仅供参考
如果您需要解决具体问题,还可以登录亿信社区
在提问求助板块提问,30分钟内帮您解决问题

如果您认为本词条还有待完善,请编辑

上一篇3、i_高阶应用

下一篇公共平台常用URL

请先登录