java - 有一个springmvc的定时任务,启动时都是执行一遍,发一个请求之后,每次都是执行两遍,请问怎么回事?
高洛峰
高洛峰 2017-04-18 10:23:47
[Java讨论组]

打印结果:
1480425640001
1480425640001
1480425650000
1480425650000
1480425660001
1480425660001
每十秒钟执行一次,每次都是两遍;代码如下:
application.xml文件,
<task:annotation-driven scheduler="admin" mode="proxy" />
<task:scheduler id="admin" pool-size="1" />
<bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor" />
<context:component-scan base-package="*" />

web.xml

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
</context-param>
<context-param>
    <param-name>Log4jConfigLocation</param-name>
    <param-value>classpath:log4j.properties</param-value>
</context-param>
<context-param>
    <param-name>webAppRootKey</param-name>
    <param-value>user.root</param-value>
</context-param>
<servlet>
    <servlet-name>Dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext-mvc.xml</param-value>
    </init-param>
</servlet>
<servlet-mapping>
    <servlet-name>Dispatcher</servlet-name>
    <url-pattern>***</url-pattern>
</servlet-mapping>
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(1)
ringa_lee

应该是你的任务在spring容器里面注册了两次
(spring有父子容器之分,context 和 mvc 两个)
从现象来看,applicationContext-mvc.xml文件扫描的范围去掉 你的任务相关的类,问题就可以解决

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号