spring quartz 定时任务 意外消失/停止

b47248054 2010-11-17 12:01:04
项目用到定时任务,采用spring + quartz 实现,目前系统启动后大概运行6-8个小时后,后台定时任务全部消失,在日志中没有定时任务的log了。大家有没有遇到过这个情况,请大家帮忙解决。谢谢。

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

<bean id="demoJobTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail" ref="demoJob" />
<property name="startDelay" value="10000" />
<property name="repeatInterval" value="60000" />
</bean>

<bean name="demoJob" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="com.redloop.brand.cronjob.impl.DemoJob" />
<property name="jobDataAsMap">
<map />
</property>
</bean>

...全文
1924 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
liufeng0209 2010-11-18
  • 打赏
  • 举报
回复
我用quartz1.6.6 spring 2.5.6
factory用的是MethodInvokingJobDetailFactoryBean
trigger用的是CronTriggerBean
scheduler用的是SchedulerFactoryBean
也许版本不太一样吧
b47248054 2010-11-18
  • 打赏
  • 举报
回复
也许,也许是cpu调度不过来了。多线程太费系统资源了。
30个线程一起跑,可能是这个原因。
自己想了个办法解决了。每个触发器对应一个factory,因为quartz这个在线程调度的时候,有时候是单线程,有时候是多线程,如果好多job都被factory加载到一个线程堆栈中,就可能出现cpu无法及时调度的问题。


谢谢liufeng0209
b47248054 2010-11-17
  • 打赏
  • 举报
回复
补充:没有任何的错误信息~!
b47248054 2010-11-17
  • 打赏
  • 举报
回复
异步的进程。毫秒级别的。
liufeng0209 2010-11-17
  • 打赏
  • 举报
回复
你触发进程是同步的还是异步的呢,你可以看看从执行到返回到底花了多少时间
b47248054 2010-11-17
  • 打赏
  • 举报
回复
一定不会堵塞,job里面只是触发其他的线程,然后就退出了。
liufeng0209 2010-11-17
  • 打赏
  • 举报
回复
3楼说的对,定时任务很可能会堵塞,导致失效.
你在job的配置里加上
<property name="concurrent" value="false" />
试试吧
zn85600301 2010-11-17
  • 打赏
  • 举报
回复
你的job一分钟运行一次 你确定他能在一分钟内执行完吗
执行不完的话 你是怎么处理的?
b47248054 2010-11-17
  • 打赏
  • 举报
回复
帮帮帮忙!!!

67,541

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧