Spring 定时任务的实现<转>
本人暂时用到的实现定时任务的方式有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>
Spring 定时任务的实现<转>的更多相关文章
- 摆脱Spring 定时任务的@Scheduled cron表达式的困扰
一.背景 最近因为需要,需要适用Spring的task定时任务进行跑定时任务,以前也接触过,但是因为懒没有好好地理解@Scheduled的cron表达式,这次便对它做了一个全方位的了解和任务,记录下来 ...
- spring 定时任务配置
1.(易)如何在spring中配置定时任务? spring的定时任务配置分为三个步骤: 1.定义任务 2.任务执行策略配置 3.启动任务 (程序中一般我们都是到过写的,直观些) 1.定义任务 < ...
- Spring 定时任务2
转载自http://www.cnblogs.com/nick-huang/p/4864737.html > 版本说明 <dependencies> <dependency> ...
- 关于Spring定时任务(定时器)用法
Spring定时任务的几种实现 Spring定时任务的几种实现 一.分类 从实现的技术上来分类,目前主要有三种技术(或者说有三种产品): 从作业类的继承方式来讲,可以分为两类: 从任务调度的触发时机来 ...
- Cron和Spring定时任务
1.Java Spring spring定时任务cronExpression的值(配置定时时间)格式说明: 一个cronExpression表达式有至少6个(也可能是7个)由空格分隔的时间元素.从左至 ...
- spring 定时任务的 执行时间设置规则(转)
spring 定时任务的 执行时间设置规则 单纯针对时间的设置规则org.springframework.scheduling.quartz.CronTriggerBean允许你更精确地控制任务的运 ...
- (3)Spring定时任务的几种实现
Spring定时任务的几种实现 近日项目开发中需要执行一些定时任务,比如需要在每天凌晨时候,分析一次前一天的日志信息,借此机会整理了一下定时任务的几种实现方式,由于项目采用spring框架,所以我都将 ...
- Spring定时任务,Spring4整合quartz2.2,quartz-scheduler定时任务
Spring4整合quartz2.2,quartz-scheduler定时任务,Spring定时任务 >>>>>>>>>>>>& ...
- spring计划任务,springMvc计划任务,Spring@Scheduled,spring定时任务
spring计划任务,springMvc计划任务,Spring@Scheduled,spring定时任务 >>>>>>>>>>>> ...
- spring定时任务的几种实现方式
Spring定时任务的几种实现 近日项目开发中需要执行一些定时任务,比如需要在每天凌晨时候,分析一次前一天的日志信息,借此机会整理了一下定时任务的几种实现方式,由于项目采用spring框架,所以我都将 ...
随机推荐
- [转]Openstack Havana Dashboard测试和使用
转贴一篇陈沙克老师的文章:http://www.chenshake.com/openstack-havana-dashboard-to-test-and-use/ Openstack Havana D ...
- C#基础精华----枚举
enums枚举是值类型,数据直接存储在栈中,而不是使用引用和真实数据的隔离方式来存储. (1)默认情况下,枚举中的第一个变量被赋值为0,其他的变量的值按定义的顺序来递增(0,12,3...),因此以下 ...
- java工具类–自动将数据库表生成javabean
最近和数据库的表打交道挺多的,因为暂时做的是接口活. 在这过程中发现要把表转换成对应的javabean类型,字段少的表还行,如果不小心碰到几十个字段的他妈的写起来就有点麻烦了,万一碰到几百个的呢,那不 ...
- NFC(3)Android上的NFC,开启NFC,3种NDEF数据
Android对NFC技术的支持 Android2.3.1(API Level = 9)开始支持NFC技术,但Android2.x和Android3.x对NFC的支持非常有限.而从Android4.0 ...
- libmysqlclient.so.15: cannot open shared object file: No such file or directory
错误: ./mafsInRegion: error while loading shared libraries: libmysqlclient.so.15: cannot open shared o ...
- [Codeforces137A]Postcards and photos(模拟)
题目链接:http://codeforces.com/contest/137/problem/A 题意:一个人搬东西,每次只能搬相同的东西,最多只能搬相同的东西不超过5个.问最少搬多少次. 模拟就行了 ...
- git终端提示符
最近使用git bash的时候,看到默认的终端提示符不爽,主要是太长了.所以想对git终端提示符进行优化 默认git的终端提示符会是 用户名@设备名称 ,我想改成更短的来查看. 提示符是由一个环境变 ...
- Junit单元测试的实例
进行单元测试的代码 package JunitTest; import org.junit.Test; public class Calculator { private static int res ...
- 如何过滤 adb logcat 输出
对原作者表示感谢,转自博客:http://www.otechu.me/zh/2011/12/filtering-adb-logcat-output/ 本文介绍如何在 shell 命令行中过滤 adb ...
- HighCharts 饼图
@{ ViewBag.Title = "Index"; Layout = "~/Views/Shared/_Layout.cshtml"; } @section ...