关于spring定时任务被多次调用的问题
2016-07-19 11:44
267 查看
在项目开发中,难免会用到定时任务,如果你的项目中用了spring这个框架,那么恭喜你,你的定时任务的创建将变得无比简单。
代码中只需要一个 @Scheduled标签,然后配置对应的执行频率即可
pasting
@Scheduled(cron="0/60 * * * * ? ") //每60秒执行一次
@Override
public void checkLoginStatus() {
System.out.println("process");
}
如上代码,即可实现定时任务。
但是今天在代码从本地提交到linux环境时出现了一个小问题,在本地Windows环境中,定时任务执行正常,但是在Linux环境,会出现重复执行的情况。
经过在网络上的问题排查,找到原因了。
我这边的问题主要在tomcat的配置上,在tomcat的<host>配置中,appBase的值与Context配置中path的值存在重复的问题,导致每次定时任务都会被调用两次,这里要做的就是把host中appBase中的值删掉即可。
如果这种方法不可行,那么就需要检查自己的spring配置文件,是否已经配置了定时任务,如果配置文件中已经配置了定时任务,代码中又使用了@Scheduled
标签也会导致重复调用的问题。
相关文章推荐
- 关于spring定时任务的并发问题
- SpringTask执行定时任务中调用方法中断问题
- 关于Java Web 使用Spring中使用Quartz(定时调用、实现固定时间执行), 触发定时器(执行某些任务)的实例
- ApplicationContextAware和ClassPathXmlApplicationContext(Spring定时任务运行多次问题)
- 关于spring的quartz(定时任务执行)问题,
- 关于Spring+quartz定时任务时触发2次的问题
- 解决Spring定时计划任务重复执行两次或多次(实例被构造两次)问题的方法
- Spring+Quartz 定时任务无法自动注入bean的问题
- 关于UILongPressGestureRecognizer调用多次的问题
- 简析关于定时任务跑着跑着就停止了的问题
- 关于Spring定时任务(定时器)用法
- 关于Spring定时任务(定时器)用法
- 用NodeJs实现延迟调用,规避定时任务的闭包问题
- Spring设置定时任务时,关于执行时间的规则设置
- 关于Spring中用quartz定时器在定时到达时同时执行两次的问题
- SSH:解决Spring整合quartz定时任务执行两次问题
- spring定时任务被执行两次的问题,原来是tomcat重复发布导致的
- 注解方式进行spring定时任务的调用
- Spring定时任务中@PostConstruct被多次执行异常