quartz 定时任务

这篇文章不是告诉大家,quartz的表达式以及程序怎么写。写这篇文章的目的是为了记录用quartz的遇到的问题。

问题描述:我们生产环境有26个定时秒级job需要触发,最近一个月发现job夜里运行良好,白天要各几分钟,甚至几小时才能执行一次。

分析过程:

 首先,我怀疑是fullgc导致的系统卡顿,拿到gc日志分析确实有较多的垃圾对象待回收,但是job服务器由两台增加到8台现在任然存在。

 其次,通过查看ihs,发现job的触发http请求链接并没有过来,怀疑是触发器quartz的问题

最后,查看源代码,发现quartz默认读取的配置文件在他自己的包中(quart.properties)文件,设定了线程池大小为10,怀疑是线程数太小导致,改为20,一切运行良好。

本人愚昧,看了两天的源码也没看的太明白,好像是用的是wait,noitfy,怀疑是有些job的线程始终获取不到执行机会导致的。希望有大神对quartz实现原理了解的,请不吝赐教。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值