标签:java spring scheduled-tasks
我对计划任务有一种奇怪的行为.我有以下设置
<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.
解决方法:
Windows中的计划异步方法似乎存在问题.这与JVM如何在Windows上创建线程有关
尝试删除@Async并检查它是否有效
标签:java,spring,scheduled-tasks 来源: https://codeday.me/bug/20190709/1414862.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。