Quartz:每天运行一次任务,没有重复间隔

发布于 2024-12-13 07:30:12 字数 1214 浏览 6 评论 0原文

配置:

<bean id="simpleTrigger"
        class="org.springframework.scheduling.quartz.SimpleTriggerBean">

        <property name="jobDetail" ref="runMeJob" />
        <property name="repeatInterval" value="5000" />
        <property name="startDelay" value="1000" />

    </bean>

    <!-- Cron Trigger -->
    <bean id="cronTrigger"
        class="org.springframework.scheduling.quartz.CronTriggerBean">

        <property name="jobDetail" ref="runMeJob" />
        <property name="cronExpression" value="0 45 16 ? * MON-FRI" />

    </bean>

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

        <property name="triggers">
            <list>
            <ref bean="simpleTrigger" />
            </list>
        </property>
    </bean>

我需要在每个工作日的 16:45 运行一次任务。
simpleTrigger 如果我不使用 repeatInterval 会发出警告,因为它不能是 0 ,但我不需要它,因为需要我的任务每天执行一次。

config:

<bean id="simpleTrigger"
        class="org.springframework.scheduling.quartz.SimpleTriggerBean">

        <property name="jobDetail" ref="runMeJob" />
        <property name="repeatInterval" value="5000" />
        <property name="startDelay" value="1000" />

    </bean>

    <!-- Cron Trigger -->
    <bean id="cronTrigger"
        class="org.springframework.scheduling.quartz.CronTriggerBean">

        <property name="jobDetail" ref="runMeJob" />
        <property name="cronExpression" value="0 45 16 ? * MON-FRI" />

    </bean>

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

        <property name="triggers">
            <list>
            <ref bean="simpleTrigger" />
            </list>
        </property>
    </bean>

I need to run task at 16:45 every working day one time.
simpleTrigger warns if i don't use repeatInterval,due to it can't be 0 , but i don't need it,because need my task executed once a day.

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

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

发布评论

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

评论(1

孤凫 2024-12-20 07:30:13

为什么你还要拥有 simpleTrigger?您的 cronTrigger 应该足以在每个工作日的 16:45 运行任务。

<!-- Cron Trigger -->
<bean id="cronTrigger"
    class="org.springframework.scheduling.quartz.CronTriggerBean">

    <property name="jobDetail" ref="runMeJob" />
    <property name="cronExpression" value="0 45 16 ? * MON-FRI" />

</bean>

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

    <property name="triggers">
        <list>
        <ref bean="cronTrigger" /> <!-- use cronTrigger instead of simpleTrigger -->
        </list>
    </property>
</bean>

Why do you even have simpleTrigger? Your cronTrigger ought to be sufficient to run the task at 16:45 every weekday.

<!-- Cron Trigger -->
<bean id="cronTrigger"
    class="org.springframework.scheduling.quartz.CronTriggerBean">

    <property name="jobDetail" ref="runMeJob" />
    <property name="cronExpression" value="0 45 16 ? * MON-FRI" />

</bean>

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

    <property name="triggers">
        <list>
        <ref bean="cronTrigger" /> <!-- use cronTrigger instead of simpleTrigger -->
        </list>
    </property>
</bean>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文