java下quartz 怎么设置单线程执行

 我来答
大单不呵啦5914
2016-12-10 · 超过215用户采纳过TA的回答
知道小有建树答主
回答量:404
采纳率:100%
帮助的人:318万
展开全部
如果你是直接写的代码设置时间的,可以设置每48小时,翻翻API就有了,既然你问了,肯定是通过XML配置文件写的,那只能给一个解决方案了,在配置文件中虽然有0 0 0 1/2 * ? 来表示从每月1号起每2天0点0分0秒执行一次,但遇到31这样的月份就会错,不建议使用。

想到的解决方案有2种,一种设置成每天跑一次,定义个static boolean变量 第一次执行的时候改成false并执行,第2天的执行获取该值,发现是false把值变成true不执行,发现是true改成false执行。
第2种方法其实是为了防止项目被重启static变量重置的,这个boolean值(或者你自定义的标示符)放到数据库里,没天执行的时候读一下库。当然在指定位置生成一个空文件,每次执行判断该位置的文件是否存在也一样(覆盖项目的时候记得,如果这个文件有复制到相关位置就好了)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式