系统相关
首页 > 系统相关> > 在tomcat上运行的Java servlet中,我可以使用什么为每个会话实现后台进程?

在tomcat上运行的Java servlet中,我可以使用什么为每个会话实现后台进程?

作者:互联网

我希望为有会话的每个用户定期运行一个功能,该功能将检查用户是否处于活动状态.如果未激活,该函数将从Servlet上下文中的用户列表中删除该用户,并清除用户会话.

我可以使用什么来按固定的时间间隔为每个用户运行该功能?

据我了解,servletcontextlistener在servlet的生命周期内仅运行一次,而不是为每个用户运行,因此它不可用.另外,在servlet中建议不要使用线程.

编辑:
用户(使用ajax)调用一个动作,该动作包含的功能将更新我为每个用户存储的变量,该变量指示他们最后一次联系服务器的时间.

解决方法:

您可能正在寻找javax.servlet.http.HttpSessionListener.
创建一个,在web.xml中注册它,并让sessionDestroyed完成您的工作.

标签:ajax,tomcat,servlets,dojo,java
来源: https://codeday.me/bug/20191201/2081193.html