我们项目中有一个特定部分,有时可能需要很长时间才能完成数据库操作。如果我们使用只能使用VPN访问的数据库,情况会更糟。
我知道您可以通过以下方式增加整个会话时间:
<context-param>
<description>Tempo limite em minutos da sessão do usuário</description>
<param-name>timeout_sessao_web</param-name>
<param-value>20</param-value>
</context-param>
我们在web.xml文件中有这个参数,持续20分钟。我可以很容易地改变这个值,但我被告知不要。
我知道有这个:
@Synchronized(timeout = 300000)
那就是每个豆子。我有一些问题:
答案 0 :(得分:0)
会话超时的web.xml是所有Web会话的正确位置。如果存在Web会话请求的数据库操作大约需要20分钟的情况,我建议您重新考虑该过程的实现。 此外,您可以尝试使用SessionScoped Bean中的&#34; setMaxInactiveInterval()...&#34; 来增加特定HttpSession的超时值。 至少你应该在花费很长时间的时候将这个过程从任何网络会话中分离出来。
答案 1 :(得分:0)
我的拙见(不涉及扩展会话)的更好的解决方案是使用异步编程。看一下这个帖子: