大家好,
这是我的问题。我有一个 servlet 可以回答传入的查询。为每个请求打开一个 session 。此 session 的生命周期为一分钟。现在,新请求可能恰好在 session 到期的那一刻到来。此请求恰好运行到 session 无效。在请求开始时 session 仍然有效,在结束时不再有效。因此,有一个异常(exception)。
我现在的问题是,有没有办法在 Wildfly 中动态扩展 session ?或者是否有可能以某种方式取消 session 的无效?
servlet 在 Wildfly12 上运行。
我希望有人能帮助我。 许多问候
最佳答案
web.xml 中定义的超时是一个空闲 session 超时。如果你将它设置为一分钟,这并不意味着你的 session 只有一分钟的生命周期,这意味着它将在 不活动 一分钟后失效!这是一个主要区别。
说“在请求开始时 session 仍然有效,在结束时不再有效”是很奇怪的,因为如果正在处理请求,这意味着一些当前 Activity 与空闲状态有点矛盾 (注意:好的,如果您的 servlet 没有在合理的延迟时间内响应请求者,您可能会遇到读取超时,但这是另一回事,与 session 无关)...
现在,如果您真的想延长当前 session 的超时时间,您可以通过编程来实现:
HttpSession session = request.getSession();
session.setMaxInactiveInterval(10*60); // in seconds !
关于java httpSession 在处理时失效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52383451/