项目中 job是用注解配置的
package com.xxx.xxx
@Component
@Lazy(false) // 不加注解会导致不运行
public class BangListJob {
private Logger logger = LoggerFactory.getLogger(getClass());
/**
* 把超过俩周的变成已取走-超时<br/>
* 每周一上午十点40执行
*/
@Scheduled(cron = "0 37 16 * * 2") //
public void changeState() {
logger.info("----");
}
}
测试的时候发现执行多次
网上查了一下基本上都是千篇一律的解决办法啊。。。。不可用。
spring-mvc.xml中 最开始是这么写的
<context:component-scan base-package="com.xxx.take." />
最后改成这样,只扫描Controller
<context:component-scan base-package="com.xxx.take.controller" />
也就是需要注意一下,这个spring-mvc.xml文件也会加载job
当然 spring-application中也会加载