Spring Task定时任务_半亩方塘code的博客-程序员宅基地

一、通过配置实现

1、编写Java类文件,如下两个Java类文件。

import java.util.Date;

public class QuartzJob {

	public void work() {
		System.out.println("QuartzJob is time to run :" + new Date().toString());
	}

}




import java.util.Date;


public class QuartzTest {
	
	//到了某个时刻就会被调用
	public void autoRun() {
		System.out.println("It's time to run :" + new Date().toString());
	}

}

2、添加配置文件,

<?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:context="http://www.springframework.org/schema/context"
    xmlns:task="http://www.springframework.org/schema/task"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-3.0.xsd
    http://www.springframework.org/schema/task
    http://www.springframework.org/schema/task/spring-task-3.0.xsd">
    
    <!-- 定时任务bean -->
    <bean name="quartzTest" class="com.zxgs.task.QuartzTest" />
    <bean name="quartzJob" class="com.zxgs.task.QuartzJob" />
    
    <!-- 定时任务 -->
    <bean id="quartzTestTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <property name="targetObject" ref="quartzTest"></property>
        <property name="targetMethod" value="autoRun"></property>
        <property name="concurrent" value="true"></property>
    </bean>
    
    <bean id="quartzJobTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <property name="targetObject" ref="quartzJob"></property>
        <property name="targetMethod" value="work"></property>
        <property name="concurrent" value="true"></property>
    </bean>

    <!-- 定时任务触发器 -->
    <bean id="quartzTestTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
        <property name="jobDetail" ref="quartzTestTask"/>
        <!-- 每五秒 -->
        <property name="cronExpression" value="0/5 * * * * ?"></property>
    </bean>
    
     <bean id="quartzJobTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
        <property name="jobDetail" ref="quartzJobTask"/>
        <!-- 每二秒 -->
        <property name="cronExpression" value="0/2 * * * * ?"></property>
    </bean>

    <bean name="quartzScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="triggers">
            <list>
                <ref local="quartzTestTrigger" />
                <ref local="quartzJobTrigger" />
            </list>
        </property>
    </bean>

</beans>

 

二、通过注解实现

使用@Scheduled注解进行开发

1、在xml中添加空间名

xmlns:task="http://www.springframework.org/schema/task"

xsi中引入
http://www.springframework.org/schema/task/spring-task-3.0.xsd

2、扫描包 

 <!-- 自动扫描该包,使SpringMVC认为包下用了@controller注解的类是控制器 -->
	<context:component-scan base-package="com.zxgs.task" />
    <!--启用注解驱动,spring才能识别@Scheduled注解 -->
	<task:annotation-driven scheduler="taskScheduler" mode="proxy" />
	<!--配置定时任务线程池线程数量, 官方推荐pool-size:5-10 -->
	<task:scheduler id="taskScheduler" pool-size="10" />

3、 在类上加注解

	@Scheduled(cron="0/2 * * * * ?")
	public void work() {
		System.out.println("QuartzJob is time to run :" + new Date().toString());
	}

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/liyaohui_szz/article/details/81911403

智能推荐

新手小白,常会走进这6个误区,做自媒体建议避免_大 周 网 络的博客-程序员宅基地_那些新手很容易进入的误区

很多新手小白涌入自媒体这个行业,有不少人都是雄心壮志的来,垂头丧气的离开,是因为他们事先没做好全方位的了解,根本没有做互联网的思维就一头扎进来。现在是流量为王的时代(流量=钱),很多人开始选择坚持或者辞职后全职做自媒体创业,想在自媒体行业中闯出一片天地。在缺乏经验、零基础的情况下贸然进入,没有领路人,是要走很多弯路的。大周今天给大家分享几点我自己的经验总结,为了能让你更好的规避1、直接干有不少新手小白都会被割韭菜,他们听说自媒体可以快速赚钱,利用零碎的时间就可赚外快,也没有去自己调查、研究,就一头

关于python出现中文乱码的问题_树叶蓁蓁的博客-程序员宅基地

在unicode中,无论是半角的英文字母,还是全角的汉字,它们都是统一的”一个字符“!同时,也都是统一的”两个字节“,请注意”字符”和”字节”两个术语的不同,“字节”是一个8位的物理存贮单元,而“字符”则是一个文化相关的符号UTF-8就是每次8个位传输数据,而 UTF-16 就是每次16个位。UTF-8就是在互联网上使用最广的一种 unicode 的实现方式,这是为传输而设计的编码,并使编码无国...

python处理表格数据教程_利用Python处理Excel数据_weixin_39627052的博客-程序员宅基地

本文的数据源是朝阳医院2016的销售数据,课程是使用R语言来进行数据处理的,这里尝试采用Python来处理。要求的业务指标是:1)月均消费次数;2)月均消费金额;3)客单价;4)消费趋势这几个指标主要判断了用户端的消费趋势,为了给医院更多的指导,在此基础上进行了一定的扩展,个人增加了两个业务指标,也是为了多熟悉库的使用:5)列出各类药品售出数量的排名。这个指标可以指导医院多存储哪类药品,少存储哪类...

kobo glo原系统设置_whutxxz0208的博客-程序员宅基地_kobo原生系统没书

1. 破解(patch)① 目的可以使阅读界面的footer消失,浏览器可以下载百度云中任何格式的书籍① 傻瓜操作(http://www.mobileread.mobi/forums/showthread.php?t=269574)Z!A、最后的tgz文件在3.19.5761_target文件夹中,若改文件夹无tgz文件说明patch文件更改有错;B、有些选项不能同时选ye

「初级篇」跟我一起学docker(二)--核心概念和安装_zhugeaming2018的博客-程序员宅基地

&amp;gt;&amp;gt;原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!&amp;gt;&amp;gt;原文链接地址:跟我一起学docker(二)–核心概念和安装环境介绍:操作系统:64bit CentOS7docker版本:17.05.0-ce(最新版本)版本新功能:https://github.com/docker/docker/blob/master/CHANGELOG.md安...

领域建模刍议(一):分清问题域和问题解决域_火山石的博客-程序员宅基地

一:领域与领域模型  俗话说,人人心中有一个Hamlet,人人心中也都有一个领域模型的定义。   常见的有:   说法1:我理解的领域是对业务工作进行归类划分,归类的方式是业务工作具有相关的知识,这些所需要的知识构成一个领域,这些知识是业务工作的背景,通过对领域的分析,可以帮助我们挖掘、分析、理解业务工作的本质。 也就是说,领域是为需求分析工作服务的,它的目的是挖掘、分析、

随便推点

php maxInstances,win2008服务器IIS+fastCGI完美设置教程_weixin_39942213的博客-程序员宅基地

帮用户配置服务器,装的WIN2008系统,在WIN2008的IIS7上用FASTCGI调使用PHP-CGI.EXE,默认只有4个进程,这样对于大流量的网站为说进程数不足带来的进程排队现象十分严重,处理方案如下32位系统 http://www.iis.net/Downloads/files/AdminPack/TP2/AdminPack_x86.msi64位系统 http://www.iis.net...

mybatis特殊字符处理_软件老王的博客-程序员宅基地_mybatis 冒号

1. 场景描述在web项目中经常会统计一些信息,会使用到大于小于等字符,但是在mybatis的mpper.xml中是不识别的。2. 解决方案2.1 使用处理标签使用&lt;![CDATA[]]&gt;处理标签,该标签是针对xml文件的,标签的作用就是把标签内容按文本处理。例如:大于:&lt;![CDATA[ &gt; ]]&gt;大于等于:&lt;![CDATA[ &gt;= ]]&...

Android平台下渗透测试工具大集合_sos995的博客-程序员宅基地

[整理]Android平台下渗透测试工具大集合cs24 @工具 2012-08-15 共 29988 人围观,发现 11 个不明物体 收藏该文分享一个google的项目,各种Android下的渗透测试工具。Ad Network Detector (1.2): http://market.android.com/details?id=com.lookout.addet

ifcfg-eth0 配置 _qk_zhu的博客-程序员宅基地

<br />original link http://blog.csdn.net/pheror_abu/archive/2010/05/27/5628737.aspx<br /> <br />转自:http://hi.baidu.com/lei005/blog/item/92df5e8314544a9cf703a648.html<br />/etc/sysconfig/network 包括主机基本网络信息,用于系统启动<br />/etc/sysconfig/network-script/ 此目录下是系统启

int类型数据范围 - 学习_穿素白衫的中少年的博客-程序员宅基地_int类型判断数字区间

1.介绍 弄清楚这个事情,首先要知道,二进制与位的概念 二进制: 就是01010101...组成的一段数字,计算机内部[底层]使用的即二进制,包括储存和传输。 补充: 【计算机使用二进制和现代计算机系统的硬件实现有关。组成计算机系统的逻辑电路通常只有两个状态,即开关的接通与断开。】 二进制的发明者是 戈特弗里德·威廉·莱布尼茨【德国数理哲学大师...

创业公司做数据分析(三)用户行为数据采集系统_weixin_33770878的博客-程序员宅基地

作为系列文章的第三篇,本文将重点探讨数据采集层中的用户行为数据采集系统。这里的用户行为,指的是用户与产品UI的交互行为,主要表现在Android App、iOS App与Web页面上。这些交互行为,有的会与后端服务通信,有的仅仅引起前端UI的变化,但是不管是哪种行为,其背后总是伴随着一组属性数据。对于与后端发生交互的行为,我们可以从后端服务日志、业务数...