Quartz是一种功能丰富的开源作业调度库,它可以在几乎任何Java应用程序集成,从最小的单机应用到最大的电子商务系统。 Quartz可以用来创建简单或复杂的任务,调度执行数以十计,数百计,甚至成千上万的任务。这些拥有某种Task的Job被定义为标准的Java组件,可以执行几乎任何你可以编程实现的事情。 Quartz调度包括了许多企业级功能,如JTA事务和集群支持。
Quartz是可免费使用,根据Apache2.0许可证授权。
官网地址:Quartz
问题背景:
因为做项目需要,对于登录次数超过一定数量的用户,系统要判定为恶意登录,应该对那个账号暂时性的锁定,锁定时间内此账号是不能再次进行登录请求的,这样可以有效减轻恶意登录情况。
之前想到的一个简单办法是session中计数,但是后来立马被自己否定了,原因有几个:
用户换一个浏览器session值就改变了,也就可以再次用被锁定的账号;
即便如此,session失效的时间是系统启动时就配置好了,不可控,比如我想锁定时间设置成3个小时。

本文介绍了如何在Quartz任务调度中利用Servlet Context来处理恶意登录限制。通过Servlet Context保存锁定用户信息,使用Quartz定时扫描并解锁达到时间的账号。详细探讨了在Quartz中访问Servlet Context的问题,提出了解决方案,即继承QuartzInitializerListener监听器,并展示了任务实现类和配置方法。
最低0.47元/天 解锁文章
1533

被折叠的 条评论
为什么被折叠?



