4

我在 web.xml 中将超时设置为 30 分钟,并在 WebLogic 中成功部署了 webapp。现在应用程序已启动并运行,但当达到最大非活动间隔时,会话不会超时。同样的应用程序在 tomcat 中正确超时。

任何人都可以提出一些想法吗?

另外我想知道是否有特定于应用程序的 weblogic.xml?如果是,那么我在哪里可以找到它?

4

2 回答 2

2

您有几个选择:

  1. 您可以编辑文件 web.xml:在文件 web.xml 中编辑 session-config 的 session-timeout。请注意在 web.xml 中,会话超时以分钟为单位设置。

    <session-config>
             <session-timeout>60</session-timeout>
    </session-config>
    
  2. 您可以编辑文件 weblogic.xml:编辑文件 weblogic.xml 中的会话参数 TimeoutSecs。在 weblogic.xml 中,会话超时以秒为单位设置。

     <session-descriptor>
           <session-param>
               <param-name>TimeoutSecs</param-name>
              <param-value>3600</param-value>
          </session-param>
     </session-descriptor>
    

请注意,web.xml 中设置的超时值优先于 weblogic.xml。如果您未在 web.xml 中设置任何值,weblogic.xml 将接管。处理会话超时的一个好方法是仅在 web.xml 本身上设置它,因为 web.xml 优先于应用程序服务器的部署描述符。

有关详细信息,请参阅:http: //download.oracle.com/docs/cd/E15523_01/web.1111/e13712/web_xml.htm#i1023849

希望这可以帮助。

于 2014-08-07T17:36:12.640 回答
1

web.xml 和 weblogic.xml 中的会话超时设置应该可以工作。请注意,web.xml 中的单位是分钟,而 weblogic.xml 中的单位是秒。

并且 web.xml 中的超时设置优先于 weblogic.xml。

weblogic.xml 应该在 WEB-INF/ 下

对于 weblogic.xml 中的会话描述符:

http://docs.oracle.com/cd/E13222_01/wls/docs92/webapp/weblogic_xml.html#wp1071982

于 2012-10-17T09:24:45.087 回答