问题描述:定时任务类里的方法,每次都会运行2遍,起初是用一个变量在true和false之间切换来解决的,现在问了下同事,又查下资料,算是解决了。
问题原因:虽然不太清楚内部是怎样的,但是个人觉得网上的这种说法较为可靠,”web.xml和spring都会启动一次,导致同一个方法运行2遍。“
解决方法:把quartz配置单独方法一个xml文件中,并直接配置到web.xml中去。
修改前:spring-config.xml
<!-- 定时器和线程池配置 -->
<import resource="sys-config.xml"/>
修改后:web.xml
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-config.xml,/WEB-INF/sys-config.xml</param-value>
</init-param>