Java 石英CRON触发器未按预期触发

Java 石英CRON触发器未按预期触发,java,spring,quartz-scheduler,scheduler,Java,Spring,Quartz Scheduler,Scheduler,我有一个简单的石英触发器在Spring 2.5.6-SEC01中运行 触发器定义如下所示: <bean id="AdvicesCronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail" ref="AdvicesQuartzJob"/>

我有一个简单的石英触发器在Spring 2.5.6-SEC01中运行

触发器定义如下所示:

<bean id="AdvicesCronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
    <property name="jobDetail" ref="AdvicesQuartzJob"/>
    <property name="cronExpression" value="0 20/15 * * * ?"/>
</bean>

这是我的调度程序工厂:

<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    <property name="triggers">
        <list>
        <ref bean="AdvicesCronTrigger"/>
        </list>
    </property>
</bean>

我读过关于从石英触发CRON触发器的文章。这是一段摘录:

CronTrigger示例1-表达式 创建一个简单触发的触发器 每5分钟

“0 0/5***”

今天我在9点40分启动了我的程序。这是我的执行输出:

编辑:博比的欣赏是对的。我已更新我的执行日志:

2010-02-11 09:50:00000信息-开始

2010-02-11 10:20:00000信息-开始

2010-02-11 10:35:00000信息-开始

2010-02-11 10:50:00000信息-开始

2010-02-11 11:20:00000信息-开始

2010-02-11 11:35:00000信息-开始

我原以为会有人扣动扳机

9点50分

10:05

10:20

10:35


如何做到这一点?哪个CRON表达式使用?

CRON表达式的
20/15
部分表示在一小时的第20分钟之后每隔15分钟。这意味着它将始终在第20分钟开始

我从未测试过它,但也许像这样的表达式就是您要搜索的:

0*/15***?

不是给你一个无关的答案,但有时使用一些服务而不是自己尝试这样做是有意义的:)看看,或者为什么Quartz在9:40执行应用程序后在9:50触发我的触发器?因为我认为它将20/15表达式转换为20,35,50表达式。问题是,我有一些(目前为2)石英触发器,我不希望这是在同一时间触发其他触发器,但我希望所有相同的周期。我在第一个触发器上写了10/15,在第二个触发器上写了20/15。那么仅仅写下你想要触发它们的准确时间会有多糟糕?您还可以通过将一个设置为0秒,另一个设置为30秒来控制此操作。