在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