Spring框架的quartz集群配置问题

qq_18640381 2015-06-05 05:13:07
加精
楼主接手了一个乱七八糟的项目,只有开发环境跟生产环境,没有具体交接,直接丢源码给楼主看。

在项目中用到了Spring 的quartz集群,同样的配置文件,在生产环境上,定时任务可以正常的工作,但是在测试环境上,启动项目之后,定时任务类里面的代码没有被执行。

使用debug,也确实没有执行到代码,起初楼主以为是定时任务配置文件没有被加载或者是配置错误什么的,但是奇葩的是,项目启动完全正常,也没有报任何异常。

楼主去数据库查看quartz集群所需的那些表,发现,QRTZ_JOB_DETAILS,跟QRTZ_TRIGGERS表中已经存放了定时任务的JOB对象信息,跟trigger信息了。

楼主不信邪,把定时任务的时间设置成一分执行一次,不停的刷新QRTZ_TRIGGERS表,一直等待到其中一个任务的trigger_state
字段的值从waiting变成ACQUIRED,然后楼主立刻去刷新QRTZ_FIRED_TRIGGERS表,很明显看到该任务被触发了。

让楼主抓狂的是,任务被触发了,为什么定时器类中的执行方法里面的代码不执行!!!

跪求大神指点,已经找一天的原因,实在找不出来,跑来这求助了。
...全文
2372 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
love331334055 2015-06-27
  • 打赏
  • 举报
回复
把所有测试环境时间同步为一致,再测试下…
  • 打赏
  • 举报
回复
沐诩 2015-06-18
  • 打赏
  • 举报
回复
我也经常遇到这样的问题,有时会执行有时不执行,我也头大了。最后自己把任务一个个分开,单独去试,发现竟然没问题了。。。。
虚心学习请教 2015-06-18
  • 打赏
  • 举报
回复
有可能是你转换时间的时候出现的问题,就是你要启动的时间,和你的当前时间不符合,这个可以在你执行代码之前加上判断,还有就是你看看org.springframework.scheduling.quartz.CronTriggerBean 这个类中的时间转换是怎么转换的
Lipt0n 2015-06-17
  • 打赏
  • 举报
回复
学习了!!!
wangruohang 2015-06-17
  • 打赏
  • 举报
回复
多设置些断点吧。
flurriedCat 2015-06-12
  • 打赏
  • 举报
回复
生产上集群所使用的服务器端口是不同的, 和主应用不是同一个包。 这个你最好问问运维。
Ade子夜 2015-06-12
  • 打赏
  • 举报
回复
引用 10 楼 u014654823 的回复:
生产上集群所使用的服务器端口是不同的, 和主应用不是同一个包。 这个你最好问问运维。
liangtu 2015-06-12
  • 打赏
  • 举报
回复
把生产上的代码趴下来看看和开发的是不是一样
  • 打赏
  • 举报
回复
不懂帮顶
  • 打赏
  • 举报
回复
heshuanxu 2015-06-10
  • 打赏
  • 举报
回复
集群下跑任务怎么实现的,我在集群下跑任务总是有问题,所以现在任务只有一个实例在跑,请详情? 企鹅:353605301
andy_linky 2015-06-09
  • 打赏
  • 举报
回复
楼上的说法,很有可能呀
jianwu5 2015-06-08
  • 打赏
  • 举报
回复
可能执行的不是你查看的那段代码。
cattpon 2015-06-08
  • 打赏
  • 举报
回复
看看怎么样吧~
youyedemeng 2015-06-06
  • 打赏
  • 举报
回复
是不是执行了数据库的定时任务或者是触发器?
forward_jl 2015-06-06
  • 打赏
  • 举报
回复
不是很明白,帮忙顶一下吧。

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧