我在 web.xml 中将超时设置为 30 分钟,并在 WebLogic 中成功部署了 webapp。现在应用程序已启动并运行,但当达到最大非活动间隔时,会话不会超时。同样的应用程序在 tomcat 中正确超时。
任何人都可以提出一些想法吗?
另外我想知道是否有特定于应用程序的 weblogic.xml?如果是,那么我在哪里可以找到它?
您有几个选择:
您可以编辑文件 web.xml:在文件 web.xml 中编辑 session-config 的 session-timeout。请注意在 web.xml 中,会话超时以分钟为单位设置。
<session-config>
<session-timeout>60</session-timeout>
</session-config>
您可以编辑文件 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
希望这可以帮助。
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