quartz任务在linux下第二天不执行问题

lxlucky 2016-06-15 10:45:03
我配置了一个任务是每天7点执行,可是第二天却不会执行。难道我的cron表达式有问题吗?
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">

<!-- 调度器 -->
<bean id="springJobSchedulerFactoryBean" class="com.qz.quartz.SchedulerFactoryBeanWithShutdownDelay">
<property name="triggers">
<list>
<ref bean="autoExportTrigger"/>
<ref bean="autoSendMailTrigger"/>
</list>
</property>
</bean>

<!-- 导出报表的触发器 -->
<bean id="autoExportTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<ref bean="autoExportDetail"/>
</property>
<property name="cronExpression">
<value>0 0 7 * * ?</value>
</property>
</bean>

<!-- 自动发送mail的触发器 -->
<bean id="autoSendMailTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<ref bean="autoSendMailDetail"/>
</property>
<property name="cronExpression">
<value>0 0 8 * * ?</value>
</property>
</bean>


<bean id="autoExport" class="com.qz.quartz.ExportDepartmentDataReport"></bean>
<bean id="autoSendMail" class="com.qz.quartz.AutoSendMail"></bean>

<!-- 导出报表的调度任务-->
<bean id="autoExportDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="autoExport"/>
</property>
<property name="targetMethod">
<value>export</value>
</property>
</bean>

<!-- 自动发送mail调度任务 -->
<bean id="autoSendMailDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="autoSendMail"/>
</property>

<property name="targetMethod">
<value>sendText</value>
</property>
</bean>

</beans>
...全文
520 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxlucky 2016-08-02
  • 打赏
  • 举报
回复
有多方面原因 1、是因为使用的是date使用data会出现时间不对情况,使用calendar则不会出现这个问题 2、与linux下的文件夹权限也有关系,我的任务是定时导出报表,不给文件夹权限,会导致写不进去
冰灵_SH 2016-06-17
  • 打赏
  • 举报
回复
我在想 你 的 服 务 器 时 间 是 和 网 络 时 间 同 步 的 吗 ??!如 果 不 同 步 ,还 没 到 时 间 就 不 会 执 行 呀 .
qq_27351659 2016-06-17
  • 打赏
  • 举报
回复
你日志里面找下看是否执行成功吗
darkread 2016-06-17
  • 打赏
  • 举报
回复
所以,把日志打细致一点看看。然后concurrent=false,这样统一任务上一个不执行完,后一个不执行。
darkread 2016-06-17
  • 打赏
  • 举报
回复
Quartz有总线程数控制,如果线程全部没有终结,新任务不执行。
codelabs 2016-06-16
  • 打赏
  • 举报
回复
看一下是不是数据有误。spring quartz执行时,如果数据有误的话,不会报错,但也不会执行调度逻辑,后续一次也不会执行的。我这边遇到过的情况是:DB中调度数据,结果某一行数据中的某个字段为空了,导致这批数据一次都没有执行,后续也没有任何执行动作。待这个空字段补齐后,一切OK了。
lxlucky 2016-06-15
  • 打赏
  • 举报
回复
我查看了日志,日志没有异常。
Bug开发攻城狮 2016-06-15
  • 打赏
  • 举报
回复
你的cron表达式是没问题的,你看下,是不是你代码执行了但是没执行成功,或者你服务器挂了
lxlucky 2016-06-15
  • 打赏
  • 举报
回复
可不可能是因为其他问题呢
lxlucky 2016-06-15
  • 打赏
  • 举报
回复
我看了日志信息是没有错误的
Sniper_First 2016-06-15
  • 打赏
  • 举报
回复
我记得执行定时任务有两种方式,一种是:这次发生错误下次就不执行了。另外一种是:这次发生错误,下次继续执行。看下你自己是不是这个梗。
lxlucky 2016-06-15
  • 打赏
  • 举报
回复
我试了两分钟执行一次可以执行多次,所有它应该是关闭成功,不存在没有关闭导致不能执行下一个的问题
  • 打赏
  • 举报
回复
先调小一点,几分钟执行一次看看

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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