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

关于spring+quartz框架配置多线程调度任务,小弟有一事一直没搞明白

一、quartz.properties中配置:
#===============================================================
#Configure Main Scheduler Properties
#===============================================================
org.quartz.scheduler.instanceName = QuartzScheduler
org.quartz.scheduler.instanceId = AUTO

#===============================================================
#Configure ThreadPool
#===============================================================
org.quartz.threadPool.threadCount = 8
org.quartz.threadPool.threadPriority = 5
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool

#===============================================================
#Configure JobStore
#===============================================================
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
org.quartz.jobStore.misfireThreshold = 60000

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




    <bean id="monitorSMSCronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
    <property name="jobDetail" ref="monitorSMSJobDetail"/>
    <property name="cronExpression">
        <value>0/15 * * * * ?</value><!-- 每隔15秒调度执行 -->
    </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个线程每次执行一遍应该如何做?

1个回答

simpleTrigger我记得可以配置repeatCount,cronTrigger有没有这方面的设置呢

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐