SSM框架 定时任务每次总执行两次
公司有个项目需要引入定时任务,因此我在spring-mvc配置文件中加入:<task:annotation-driven/>。启动后发现定时任务每次总是执行两次。
[framework][09:46:20,007-com.project.crm.controller.task.TaskController.detect(TaskController.java:19)][INFO]:今天天气真是好,小鸟小鸟把歌唱~~~
[framework][09:46:20,007-com.project.crm.controller.task.TaskController.detect(TaskController.java:19)][INFO]:今天天气真是好,小鸟小鸟把歌唱~~~
[framework][09:46:25,001-com.project.crm.controller.task.TaskController.detect(TaskController.java:19)][INFO]:今天天气真是好,小鸟小鸟把歌唱~~~
[framework][09:46:25,017-com.project.crm.controller.task.TaskController.detect(TaskController.java:19)][INFO]:今天天气真是好,小鸟小鸟把歌唱~~~
[framework][09:46:30,009-com.project.crm.controller.task.TaskController.detect(TaskController.java:19)][INFO]:今天天气真是好,小鸟小鸟把歌唱~~~
[framework][09:46:30,009-com.project.crm.controller.task.TaskController.detect(TaskController.java:19)][INFO]:今天天气真是好,小鸟小鸟把歌唱~~~
[framework][09:46:35,007-com.project.crm.controller.task.TaskController.detect(TaskController.java:19)][INFO]:今天天气真是好,小鸟小鸟把歌唱~~~
[framework][09:46:35,007-com.project.crm.controller.task.TaskController.detect(TaskController.java:19)][INFO]:今天天气真是好,小鸟小鸟把歌唱~~~
[framework][09:46:40,015-com.project.crm.controller.task.TaskController.detect(TaskController.java:19)][INFO]:今天天气真是好,小鸟小鸟把歌唱~~~
[framework][09:46:40,015-com.project.crm.controller.task.TaskController.detect(TaskController.java:19)][INFO]:今天天气真是好,小鸟小鸟把歌唱~~~
观察web.xml发现:

可见定时任务配置被加载了两次,
于是新增一个配置文件spring-quarz.xml ,单独配置定时任务:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-3.2.xsd">
<!-- 设置定时任务 -->
<task:annotation-driven/>
</beans>
然后修改web.xml配置文件为:

问题解决:
[framework][09:48:00,015-com.project.crm.controller.task.TaskController.detect(TaskController.java:19)][INFO]:今天天气真是好,小鸟小鸟把歌唱~~~
[framework][09:48:05,014-com.project.crm.controller.task.TaskController.detect(TaskController.java:19)][INFO]:今天天气真是好,小鸟小鸟把歌唱~~~
[framework][09:48:10,004-com.project.crm.controller.task.TaskController.detect(TaskController.java:19)][INFO]:今天天气真是好,小鸟小鸟把歌唱~~~
[framework][09:48:15,013-com.project.crm.controller.task.TaskController.detect(TaskController.java:19)][INFO]:今天天气真是好,小鸟小鸟把歌唱~~~
[framework][09:48:20,008-com.project.crm.controller.task.TaskController.detect(TaskController.java:19)][INFO]:今天天气真是好,小鸟小鸟把歌唱~~~
[framework][09:48:25,011-com.project.crm.controller.task.TaskController.detect(TaskController.java:19)][INFO]:今天天气真是好,小鸟小鸟把歌唱~~~
SSM框架下定时任务重复执行的问题及解决方案
在spring-mvc配置文件中添加<task:annotation-driven/>导致定时任务每次执行两次。通过查看web.xml发现定时任务配置被加载两次。为解决此问题,创建了新的配置文件spring-quartz.xml,专门配置定时任务,并修改web.xml,从而解决了任务重复执行的问题。
1424

被折叠的 条评论
为什么被折叠?



