spring 的定时器quartz停止

发布于 2021-11-25 19:32:38 字数 2394 浏览 766 评论 3

在使用spring的定时器时发现一个问题,一个定时任务停止运行了,但是其他的任务都是正常运行的。查看过这个定时任务的配置也没有发现问题。虽然猜测是代码错误导致的,但是重启后又没有问题了,如果是代码问题那应该重复出现才是。请问可能是什么原因呢?

配置如下:

<bean id="ATask"
          class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <property name="targetObject">
            <ref bean="AService"/>
        </property>
        <property name="targetMethod">
            <value>startA</value>
        </property>
        <property name="concurrent" value="false"/>
    </bean>
    <bean id="quartzARunTask" class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail">
            <ref bean="ATask"/>
        </property>
        <property name="cronExpression">
            <value>${quartzATimeTask}</value>(quartzATimeTask=0 */1 * * * ?)
        </property>
    </bean>

......

<bean id="publishSchedulerFactory" lazy-init="false" autowire="no"
          class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="triggers">
            <list>
              <ref bean="quartzARunTask"/>
              <ref bean="quartzBRunTask"/>
              <ref bean="quartzCRunTask"/>
              <ref bean="quartzDRunTask"/>
              <ref bean="quartzERunTask"/>
              <ref bean="quartzFRunTask"/>
            </list>
        </property>
    </bean>

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

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

发布评论

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

评论(3

剑心龙吟 2021-11-25 20:26:46

前后日志是有的,重启后日志也是正常打印的。我看过之前发生错误的日志,前后都是没有日志的,表示定时器没有启动过。所以要么之前的任务没有运行完,要么定时器被系统“忽略”了。如果是前者的话就是代码的问题,重启后应该也能马上复现,但是没有。所以我判断后者的可能性大点。人为挂起的可能性应该也没有,所以我想问的是是否可能出现系统自动“忽略”的情况,以及如果出现,有可能是什么导致的。

奢华的一滴泪 2021-11-25 20:15:47

停不停 不是你说了算,给那个任务结束和开始,加上 日志, 看是不是认为被挂起了。。。

酒几许 2021-11-25 20:10:40

又见神问题,好歹贴点配置和代码呀

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