web.xml中的会话超时不适用于weblogic服务器

时间:2012-10-17 09:03:28

标签: java tomcat weblogic

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

任何人都可以提出一些建议吗?

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

2 个答案:

答案 0 :(得分:2)

你有几个选择:

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

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

     <session-descriptor>
           <session-param>
               <param-name>TimeoutSecs</param-name>
              <param-value>3600</param-value>
          </session-param>
     </session-descriptor>
    
  3. 请注意,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

    希望这有帮助。

答案 1 :(得分: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