Dav*_*vis 10 java tomcat session-timeout
Web应用程序调用存储过程以执行密集数据库更新.相关部分web.xml更新为四小时:
<session-config>
<session-timeout>240</session-timeout>
</session-config>
Run Code Online (Sandbox Code Playgroud)
可用于该解决方案的技术包括Java 1.4.2,Struts 2,Tomcat 5.5和Apache commons.大多数其他技术(例如jQuery)是不允许的.
更新大约需要一个小时才能运行,但配置值为四小时是违反企业标准的(出于好的理由).生产中不允许四小时超时配置.
在数据库更新执行时,什么将确保请求不会超时?
我在前两种情况下的担心是,生成的进程最终将被Servlet容器杀死.
类似于在JSF中长时间处理期间防止会话超时,但没有jQuery.
编写一个侦听请求的简单服务器:
由于服务器独立于Tomcat运行,因此不会发生会话超时.数据库更新将运行完成而不会被终止.这有很多问题(错误处理不是我最关心的问题),并且可能是最后的选择.
优化查询以在30分钟内完成(最大允许超时)是可能的,但很可能无法充分优化查询.
不幸的是,升级数据库硬件不是一种选择.
非常感谢!
在我看来,没有用户愿意坐在屏幕前监视后台作业 4 个小时。几年前,我不得不花费数小时来实现报告生成。实施的解决方案如下:
| 归档时间: |
|
| 查看次数: |
9610 次 |
| 最近记录: |