Spring添加任务调度配置

作者: 疯狂小兵 | 2016-05-09 | 阅读
「编辑」 「本文源码」

注意:任何方式的调度配置都需要首先引入spring-context-4.1.7.RELEASE.jar和spring-task-4.1.7.RELEASE.jar

注意:spring主配置文件中应该有配置<context:component-scan base-package="cn.jingzztech.prac" />,以便spring扫描注解

1. 注解+配置方式任务调度

在springContext.xml(spring主配置文件)配置

 	<!-- 任务注解驱动 -->
    <task:annotation-driven/>

java代码处调用

	@Scheduled(cron="*/1 * * * * ?")
	public void springTaskSchedule(){
		System.out.println("springTaskSchedule--->date:"+DateFormat.getInstance().format(new Date()));
	}

这种方式只能提供两种可能,即要么带@Scheduled注解的方法全部按约定执行,要么全部不执行(注释掉<task:annotation-driven/>)

2. 纯注解方式任务调度

纯注解方式是只在java代码中添加注解,而不再配置

java代码处调用

@EnableScheduling
public class QuartzTest {
	@Scheduled(cron="*/1 * * * * ?")
	public void springTaskSchedule(){
		System.out.println("springTaskSchedule--->date:"+DateFormat.getInstance().format(new Date()));
	}
}

这种方式不需手动改动配置,但当调度任务的需求更改时,需要修改源码

3. 纯配置方式任务调度

在spring主配置文件中添加

	<task:scheduled-tasks> 
        <task:scheduled ref="quartzTest" method="springTaskSchedule2" cron="*/1 * * * * ?"/> 
	</task:scheduled-tasks>
	<bean id="quartzTest" class="cn.jingzztech.prac.quartz.QuartzTest" />

这样就会将cn.jingzztech.prac.quartz.QuartzTest.springTaskSchedule2设置为调度方法,按照指定cron调度

这种方式可以通过配置动态的决定开启哪些调度和关闭哪些调度,灵活度大


版权声明:本文由 在 2016年05月09日发表。本文采用CC BY-NC-SA 4.0许可协议,非商业转载请注明出处,不得用于商业目的。
文章题目及链接:《Spring添加任务调度配置》




  相关文章:

「游客及非Github用户留言」:

「Github登录用户留言」:

TOP