博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring_Task初探(注解,XML配置)
阅读量:7056 次
发布时间:2019-06-28

本文共 2821 字,大约阅读时间需要 9 分钟。

这几天想写一个动态添加任务项目找了找Spring下的自带定时功能发现还真有,然后网上找了找资料写了个demo

写了两种方式来执行定时的任务(XML配置和注解)

先建两个普通的任务类(XML配置调用的任务类)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package 
com.ebbbe.task;
 
/**
 
* 基于配置xml的定时器
 
* @author Lese
 
*/
public 
class 
TaskTest {
     
     
    
public 
void 
show(){
        
System.out.println(
"XML配置:is show run"
);
    
}
     
    
public 
void 
print(){
        
System.out.println(
"XML配置:is print run"
);
    
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package 
com.ebbbe.task;
 
import 
org.springframework.scheduling.annotation.Scheduled;
import 
org.springframework.stereotype.Component;
 
/**
 
* 基于注解的定时器
 
* @author Lese
 
*/
@Component
public 
class 
TestTaskAnnotation {
     
    
/** 
     
* 定时计算。每天凌晨 01:00 执行一次 
     
*/  
    
@Scheduled
(cron = 
"0 0 1 * * *"
    
public 
void 
show(){
        
System.out.println(
"注解:is show run"
);
    
}
     
    
/** 
     
* 心跳更新。启动时执行一次,之后每隔2秒执行一次 
     
*/  
    
@Scheduled
(fixedRate = 
1000
*
2
    
public 
void 
print(){
        
System.out.println(
"注解:is print run"
);
    
}
}

在写一个测试的Main方法

1
2
3
4
5
6
7
8
9
10
11
12
13
package 
com.ebbbe.test;
 
import 
org.springframework.context.ApplicationContext;
import 
org.springframework.context.support.ClassPathXmlApplicationContext;
 
/**
 
* @author Lese
 
*/
public 
class 
Main {
    
public 
static 
void 
main(String[] args) {
        
ApplicationContext ctx = 
new 
ClassPathXmlApplicationContext(
"spring-mvc.xml"
);
    
}
}

spring-mvc.XML

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<
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:task
=
"http://www.springframework.org/schema/task"
    
xmlns:context
=
"http://www.springframework.org/schema/context"
    
xmlns:aop
=
"http://www.springframework.org/schema/aop" 
    
xsi:schemaLocation="http://www.springframework.org/schema/beans 
    
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd  
    
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-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/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd  
    
http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd">
 
    
<
task:annotation-driven 
/> 
<!-- 定时器开关 --> 
    
<
bean 
id
=
"TaskTest" 
class
=
"com.ebbbe.task.TaskTest"
></
bean
>
     
    
<
task:scheduled-tasks
>
    
<!-- 这里表示的是从第五秒开始 ,每三秒执行一次 (而不是 三分之五 秒执行一次哦~~) -->
        
<
task:scheduled 
ref
=
"TaskTest" 
method
=
"show" 
cron
=
"*/5 * * * * ?" 
/>
        
<
task:scheduled 
ref
=
"TaskTest" 
method
=
"print" 
cron
=
"*/10 * * * * ?"
/>
    
</
task:scheduled-tasks
>
    
<!-- 自动扫描的包名 -->  
    
<
context:component-scan 
base-package
=
"com.ebbbe.task" 
/>
     
</
beans
>

 

转载地址:http://uygol.baihongyu.com/

你可能感兴趣的文章
iBatis简单入门教程
查看>>
ATL 对象映射表
查看>>
JavaScript 引擎——Chrome V8 引擎入门
查看>>
JASocket 0.6.0 发布
查看>>
每天一个linux命令(33):df 命令
查看>>
windows下PHP环境搭建
查看>>
【R作图】如何避免图例显示不完全
查看>>
优秀网页设计:使用纹理的20个华丽示例
查看>>
线程同步(VC_Win32)
查看>>
正则表达式
查看>>
PotPlayer 1.5.35491(20130205)中文版下载 - PotPlayer下载 - PotPlayer官网最新下载 中文,绿色版...
查看>>
Java 编程下 CyclicBarrier 中的线程等待
查看>>
Logic-算法-两根粗细不均匀的绳子去标记45分钟
查看>>
微信公众平台消息接口开发(25)URL关注链接
查看>>
会计电算化常考题目二
查看>>
Advanced Diagnostic using oradebug dumpvar
查看>>
PX Deq: Table Q Normal等待事件
查看>>
【视频教学】学习Oracle前的准备知识和Unix基础
查看>>
一些数学基本概念
查看>>
HTML5 localStorage
查看>>