Spring 定时任务的实现<转>
2024-10-19 04:26:48
本人暂时用到的实现定时任务的方式有2种
一、注解方式实现,简单方便
1:在applicationContext.xml中加入下面的配置,
这是spring的组件扫描,保证含有定时任务的类,能被spring扫描
<context:component-scan base-package="com.test.task">
这是定时任务的配置
<task:executor id="executor" pool-size="1" />
<task:scheduler id="scheduler" pool-size="1" />
<task:annotation-driven executor="executor" scheduler="scheduler" />
定时任务类如何写
1.用@Component标注类
2 用@Lazy(value=false)标注类(这个写也行,不写也可以。本人在做项目时,是没有写的)
3 写具体的方法
@Scheduled(cron="0/5 * * * * *")//表示具体运行的时间
public void testTask(){
//具体方法
}
4.配置完成
二、配置文件的实现方式
1.实现定时任务的类,按照普通的java类来写就可以,类中的定时任务的类的方法名称写成work()就可以了
例如
- public class TmallPriceStoreChangeFailedGetJob {
- public void work() {
- //具体方法实现
- }
- }
2.复制一个application.xml文件,重命名为application_tmallPriceStorceChangeFailed_task.xml,在spring 配置文件中添加
- <import resource="application_tmallPriceStorceChangeFailed"/>
3.application_tmallPriceStorceChangeFailed_task.xml文件按照以下写法
- <!-- quartz job config begin -->
- <bean id="tmallPriceStoreChangeFailedGetJob" class="com.shopin.third.job.TmallPriceStoreChangeFailedGetJob" />
- <bean id="getTmallPriceStroeChangeFailed"class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
- <property name="targetObject">
- <ref bean="tmallPriceStoreChangeFailedGetJob" />
- </property>
- <property name="targetMethod">
- <value>work</value>
- </property>
- </bean>
- <bean id="getTmallPriceStroeChangeFailedTask" class="org.springframework.scheduling.quartz.CronTriggerBean">
- <property name="jobDetail">
- <ref bean="getTmallPriceStroeChangeFailed" />
- </property>
- <!-- cron表达式 -->
- <property name="cronExpression">
- <value>0 30 09 * * ?</value><!--每天9点30执行一次 -->
- </property>
- </bean>
- <!-- quertz 启动配置 -->
- <bean id="startTmallQuertz"class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
- <property name="triggers">
- <list>
- <ref bean="getTmallPriceStroeChangeFailedTask" />
- </list>
- </property>
- </bean>
最新文章
- Table of Contents ---BCM
- 利用Nodejs快速构建应用原型
- 招聘 微软全球技术支持中心 sql server组
- PoE以太网远程供电
- 一个带标号的CSS文章列表写法
- Xpert 基础
- A3992学习记录
- Configure the AD FS server for claims-based authentication -zhai zi wangluo
- 1.2机器学习基础下--python深度机器学习
- 它们的定义actionbar 并删除留空
- NodeJS Stream 五:双工流
- nyoj137 取石子(三) 楼教主男人八题之一
- C语言使用vs2013进行编辑
- 【一天一道LeetCode】#118. Pascal&#39;s Triangle
- ranch 源码分析(二)
- ubuntu系统的谷歌浏览器的安装
- yum安装与源码编译安装实际使用区别
- Spring Boot常用注解
- CentOS7下解决ifconfig command not found
- zabbix 对服务器的负载做监控
热门文章
- hadoop集群基本配置
- P1082 找朋友
- 李洪强iOS开发之keychain的使用
- 使用exe4j把JAVA GUI程序打包成exe文件时遇到的问题
- ";hadoop namenode -format";命令的作用和影响的文件
- Android上常见度量单位【xdpi、hdpi、mdpi、ldpi】解读
- BZOJ 2154 Crash的数字表格
- HDU 3467 (求五个圆相交面积) Song of the Siren
- HDU 1686 (KMP模式串出现的次数) Oulipo
- Android基础_1 四大基本组件介绍与生命周期