在项目中,需要把所有子工程的定时任务都抽取出来,作为一个新的工程,解耦合。
所有的步骤都是结束后,却发现一个问题,定时任务在一个时间点重复执行两次。
问题来源:
DispatherServlet和ContextLoaderListener重复加载spring的核心配置文件,而spring的核心配置文件中包含了定时任务的相关配置,导致定时任务重复执行两次。
解决方法:
1.去掉DispatherServlet(不推荐),由于我的需求不需要接收request,所以我选择这种方案
2.将定时任务的相关配置收取为一个配置文件,在spring的核心配置文件不引入它,而是在初始化项目配置类的地方去加载它即可。(ps:项目配置类一般都是一些Filter,去设置一些登录或者公共对象的信息)