【spring+quartz框架】scheduler.reschedulejob后执行了多次

发布于 2021-11-28 16:06:40 字数 1173 浏览 871 评论 3

一、quartz.properties中配置:

org.quartz.threadPool.threadCount = 8

org.quartz.threadPool.threadPriority = 5

二、XML配置文件中配置了job:

<bean id="monitorSMSJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">

<property name="targetObject" ref="server"/>

<property name="targetMethod" value="monitorSMS"/>

<property name="concurrent" value="true"/> 

</bean>

<bean id="monitorSMSCronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">

<property name="jobDetail" ref="monitorSMSJobDetail"/>

<property name="cronExpression">

<value>0/15 * * * * ?</value><!-- 每隔1分钟调度执行 -->

</property>

</bean>

三、实现类调度方法public void monitorSMS() { //scheduler.rescheduleJob(monitorSMSCronTrigger.getName(), Scheduler.DEFAULT_GROUP, monitorSMSCronTrigger); System.out.println("enter..");}

问题是:因配置了15秒执行一次调度,如果屏蔽掉scheduler.rescheduleJob这行代码,则每次是一个线程执行,如15:30:00 work_1执行,15:30:15 work_2执行,以此类推;如果不屏蔽,则每次8个线程并发执行,且每个线程执行N多次(N无规律,几十次到上百次吧)求教大神,1 这是什么原因? 2 如果想让8个线程每次执行一遍应该如何做?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

一人独醉 2021-12-04 13:26:29

兄弟你这个问题最后解决了没?我也碰到啦

可是我不能没有你 2021-12-04 05:02:19

有没有大神帮忙解答一下?

百思不得你姐 2021-11-29 13:32:52

并不是的。这样设置了跟我问题描述的一样

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文