我对计划任务有一个奇怪的行为。我有以下设置
<task:scheduled-tasks>
<task:scheduled ref="servicioEjecucionReportes" method="ejecutar" cron="0 0 * * * *" />
<task:scheduled ref="servicioEjecucionReportes" method="ejecutarReintentos" cron="0 30 * * * *" />
<task:scheduled ref="servicioEjecucionReportes" method="enviarReporteDiario" cron="0 15 0 * * *" />
</task:scheduled-tasks>
执行器是这样配置的:
<task:annotation-driven executor="asyncExecutor" scheduler="taskScheduler" />
<task:executor id="asyncExecutor" rejection-policy="CALLER_RUNS" pool-size="16" />
<task:scheduler id="taskScheduler" pool-size="8" />
问题是,我们正在使用 linux 和 mac os 进行开发,并且这三个任务都可以正确执行,但是在 Windows 7 Server 的部署服务器上,前两个可以正确执行,而第三个则不能。
我需要在每天 00:15 执行第三个任务。
我尝试过更改配置,但行为始终相同,在开发和测试环境中一切正常,但在生产环境中却不行。
我有点迷失在哪里看或这有什么问题。
bean 是这样声明的:
<bean id="servicioEjecucionReportes" class="com.mycompany.beans.ServicioEjecucionReportesImpl" />
界面是:
public interface ServicioEjecucionReportes {
public void ejecutar();
public void ejecutarReintentos();
public void enviarReporteDiario();
}
编辑:额外信息,在服务器日志上,我们甚至看不到尝试运行的任务,春季版本是 3.1.0。