Quartz Cron定时任务周期过长无法触发
问题描述:
使用Quartz Cron触发定时任务时,周期(频率)过长的定时任务不被触发而且没有报错 cron=0 */1 * * * ? *,不知为何?
但是周期(频率)低于30秒的定时任务可以正常触发 cron=0/10 * * * * ? *
鉴于这种情况,判断代码层面应该不存在问题,表达式的写法问题也被排除。
so, 我应该如何解决这个问题?请知道的友军们提供火力支援~
版本号:
<quartz.version>2.2.3</quartz.version>
<spring.version>4.3.5.RELEASE</spring.version>
xml配置:
<!-- 声明任务工厂 -->
<bean id="schedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:/properties/quartz.properties" />
</bean>
<!-- 计划任务配置,用 @Service @Lazy(false)标注类,用@Scheduled(cron = "0 0 2 * * ?")标注方法 -->
<task:executor id="executor" pool-size="10"/> <task:scheduler id="scheduler" pool-size="10"/>
<task:annotation-driven scheduler="scheduler" executor="executor" proxy-target-class="true"/>
quartz.properties:
#==============================================================
#Configure Main Scheduler Properties
#==============================================================
org.quartz.scheduler.instanceName = TestScheduler1
org.quartz.scheduler.instanceId = AUTO
#==============================================================
#Configure ThreadPool
#==============================================================
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 5
org.quartz.threadPool.threadPriority = 5
#==============================================================
#Configure JobStore
#==============================================================
org.quartz.jobStore.misfireThreshold = 60000
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.tablePrefix = QRTZ_
org.quartz.jobStore.dataSource = dataSource
org.quartz.jobStore.isClustered = true
org.quartz.jobStore.clusterCheckinInterval = 15000
#==============================================================
#Non-Managed Configure Datasource
#==============================================================
org.quartz.jobStore.selectWithLockSQL=SELECT * FROM {0}LOCKS UPDLOCK WHERE LOCK_NAME = ?