项目用到定时任务,采用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>
<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>
解决方案 »
- spring mvc xml 问题
- 大家在做按条件搜索数据时
- hibernate lazy延迟加载 不能用
- 一个JavaEE程序,页面标签用的Struts2,提示Internate 无法打开action页面,
- spring+hibernate配置事务的问题?
- 谁帮我看下我代码哪错了撒
- 为什么查询 没传值 却出了空指针啦
- iReport中field动态改变颜色的问题
- 各位老师,您们使用MYECLIPSE开发HIERNATE方便吗??我感觉怎么没有开发STRUTS方便呢?
- 关于XML 与 SAX
- java中如何读取编辑器中的图片链接,并将图片下载上传到自己的服务器?
- 求救:与new timer().schedule() 相关的问题
执行不完的话 你是怎么处理的?
你在job的配置里加上
<property name="concurrent" value="false" />
试试吧
factory用的是MethodInvokingJobDetailFactoryBean
trigger用的是CronTriggerBean
scheduler用的是SchedulerFactoryBean
也许版本不太一样吧
30个线程一起跑,可能是这个原因。
自己想了个办法解决了。每个触发器对应一个factory,因为quartz这个在线程调度的时候,有时候是单线程,有时候是多线程,如果好多job都被factory加载到一个线程堆栈中,就可能出现cpu无法及时调度的问题。
谢谢liufeng0209