spring 的定时器quartz停止
在使用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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
前后日志是有的,重启后日志也是正常打印的。我看过之前发生错误的日志,前后都是没有日志的,表示定时器没有启动过。所以要么之前的任务没有运行完,要么定时器被系统“忽略”了。如果是前者的话就是代码的问题,重启后应该也能马上复现,但是没有。所以我判断后者的可能性大点。人为挂起的可能性应该也没有,所以我想问的是是否可能出现系统自动“忽略”的情况,以及如果出现,有可能是什么导致的。
停不停 不是你说了算,给那个任务结束和开始,加上 日志, 看是不是认为被挂起了。。。
又见神问题,好歹贴点配置和代码呀