spring定时器,定时器一次执行两次的问题
Spring 定时器
方法一:注解形式
配置文件头加上如下:
xmlns:task="http://www.springframework.org/schema/task"http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd
需要 quartz 包
<dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz</artifactId><version>2.2.2</version> </dependency>
<!-- 扫描包 -->
<context:component-scan base-package="com.hehe.content.job" /><!-- 启动定时任务 --> <task:annotation-driven/>
@Component public class MyTask {@Scheduled(cron="0 0 2 * * ?") // 每天凌晨2点执行,该方法不能有返回值public void taskCycle(){ System.out.println("======================"); } }
方法二: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:p="http://www.springframework.org/schema/p"xmlns:context="http://www.springframework.org/schema/context"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"xmlns:task="http://www.springframework.org/schema/task"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-4.1.xsdhttp://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd"><!-- 启动定时任务 --><!-- <task:annotation-driven/> <context:component-scan base-package="com.hehe.content.job" /> --><!-- 要调用的工作类 --> <bean id="quartzJob" class="com.hehe.content.job.MyTask"></bean> <!-- 定义调用对象和调用对象的方法 --> <bean id="jobtask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <!-- 调用的类 --> <property name="targetObject"> <ref bean="quartzJob" /> </property> <!-- 调用类中的方法 --> <property name="targetMethod"> <value>taskCycle</value> </property> </bean> <!-- 定义触发时间 --> <bean id="doTime" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <property name="jobDetail"> <ref bean="jobtask" /> </property> <!-- cron表达式 --> <property name="cronExpression"> <value>0 0 2 * * ?</value> </property> </bean> <!-- 总管理类 如果将lazy-init='false'那么容器启动就会执行调度程序 --> <bean id="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="doTime" /> </list> </property> </bean> </beans>
问题: 每次任务到点都执行两次!!!!!!
网上查了好多资料 ,都不是我的情况,后来发现是我的项目在启动的时候每次都会加载两次,原来是eclipse 中tomcat配置的问题
图中若选择的是第二个,项目会启动两次,这就导致了后面的定时器执行了两次。最后改为了第一选项就好了。
转载于:https://www.cnblogs.com/c9999/p/6171062.html
spring定时器,定时器一次执行两次的问题相关推荐
- 为什么有时候spring mvc的interceptor会执行两次
spring mvc的拦截器大家应该都不陌生,可以在进入响应controller之前以及之后进行一些处理. 但有些情况下,拦截器中的preHandle方法总会执行两次,这是为何? 在解答此问题之前,我 ...
- linux定时器多次,Spring 定时器执行两次
Spring错误笔记 Spring定时器执行两次因为导入了两次 关于配置文件如下 对应的类有个定时执行检查的动作,但是动作中的日志每次输出两遍,一开始以为是log4j的输出导致的两条,找了半天没办法还 ...
- python每天定时9点执行_python定时器每天订时执行的实例方法
python定时器,实现每天凌晨3点执行的方法 如下所示: ''' Created on 2018-4-20 例子:每天凌晨3点执行func方法 ''' import datetime import ...
- spring定时任务执行两次的原因与解决方法
spring定时任务执行两次的原因与解决方法 参考文章: (1)spring定时任务执行两次的原因与解决方法 (2)https://www.cnblogs.com/yolanda-lee/p/7339 ...
- 解决spring定时任务执行两次和tomcat部署缓慢的问题
解决spring定时任务执行两次和tomcat部署缓慢的问题 参考文章: (1)解决spring定时任务执行两次和tomcat部署缓慢的问题 (2)https://www.cnblogs.com/Si ...
- spring定时任务执行两次的直接解决方案
这个问题,很多人是通过修改tomcat的配置文件来解决的.这里之所以要提出一种直接解决方案,是应为并不是每个开发人员都有权限修改线上环境的tomcat配置,这个直接解决方案就是给无权修改tomcat配 ...
- Spring Aop 常见注解和执行顺序
欢迎关注方志朋的博客,回复"666"获面试宝典 来源:juejin.cn/post/7062506923194581029 Spring 一开始最强大的就是 IOC / AOP 两 ...
- Spring mvc 启动配置文件加载两遍问题
问题描述 在使用spring mvc 启动的时候,用到了一个在程序启动时加载的配置方法init-method="initLoad",并启动多线程来做数据同步,但是在程序启动之后发现 ...
- 当Spring 容器初始化完成后执行某个方法
当Spring 容器初始化完成后执行某个方法 实现ApplicationListener 使用注解:`@PostConstruct` 实现ApplicationListener 在做web项目开发中, ...
最新文章
- PHP-密码学算法及其应用-对称密码算法
- 软件开发人员能力模型
- git fetch和git pull
- 计算图像相似度——《Python也可以》之一
- 【小议】centos与ubuntu的区别
- Linux能否靠架构取得胜利
- delphi7aes加密解密与java互转_Java 加密/解密Excel
- 保驾护航金三银四,含BATJM大厂
- sqlite 0转换为bit_Cisco Talos在SQLite中发现了一个远程代码执行漏洞
- Django module学习之模板
- go rpc安装方法
- 计算机技术中,下列的英文缩写和中文名字的对照中,正确的是,计算机技术中,下列的英文缩写和中文名字的对照中。正确的是( )。 a.cad——计算机辅助制造b.cam——计...
- 【转】大厦将倾,互联网将如何变革传统行业(下)
- Andrew Ng 如何重拾梦想
- RecyclerView异步加载图片
- PDF如何加水印? PDF加水印的方法
- 《数据安全法》施行在即,政企单位如何构建数据安全治理体系?
- 温度传感器的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- PHP抓取百度搜索结果页面的【相关搜索词】并存储
- 在Ubuntu 22.04 Jammy Jellyfish Linux上流畅安装VMware tools
热门文章
- 钉钉产品介绍_钉钉正式推出智能OA:免费开放、一站解决“人财物事”管理难题...
- put请求方式参数如何传_TP5请求(request)变量
- 死锁产生的原因及条件和手写死锁
- Hessian之简单使用
- 碎片脚本注解(后续整理)
- [Swift]八大排序算法(八):基数排序
- SQL-Server使用点滴(一-数据对象篇)
- Java Servlet(一):创建工程(jdk7+tomcat7+eclipse)
- php ajax mysql 分页查询_PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
- 能测试快充真假的软件,苹果iOS 12可自行测试真假快充:山寨充电器将被洗牌