`
流浪鱼
  • 浏览: 1682551 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Spring的Task任务

 
阅读更多

Spring Task提供两种方式进行配置,一种是annotation(标注),而另外一种就是XML配置了。因为任务调度这样的需求,通常改动都是比较多的,如果用annotation的方式的话,改动就变得麻烦了,必须去重新编译。所以,我只是选择用XML配置的方式。

1.XML方式

<?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:task="http://www.springframework.org/schema/task"
	xsi:schemaLocation="
          http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
          http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd">

	<bean id="reminderProcessor" class="com.foo.task.ReminderProcessor">
		<property name="workers">
			<array value-type="com.foo.task.Worker">
				<ref bean="projectScheduleRemindWorker" />
			</array>
		</property>
	</bean>

    <!-- 配置任务线性池 -->
 	<task:executor id="executor" pool-size="3" />
	<task:scheduler id="scheduler" pool-size="3" />
    <!-- 启用annotation方式 -->
	<task:annotation-driven scheduler="scheduler"
		executor="executor" proxy-target-class="true" />

	<task:scheduled-tasks scheduler="scheduler">
		<task:scheduled ref="reminderProcessor" method="process"
			cron="0 0 12 * * ?" />
	</task:scheduled-tasks>
</beans>

 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:aop="http://www.springframework.org/schema/aop"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:sec="http://www.springframework.org/schema/security"
	xmlns:task="http://www.springframework.org/schema/task"
	xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
		http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.1.xsd
		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
		http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.1.xsd
		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
		http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.2.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd"
	xmlns:jpa="http://www.springframework.org/schema/data/jpa" xmlns:tx="http://www.springframework.org/schema/tx">
	<!—spring扫描注解的配置   -->
	<context:component-scan base-package="com.test.cache" />
	<!-- 配置任务线性池 -->
	<task:scheduler id="scheduler" pool-size="10" />
	<task:executor id="executor" pool-size="10" />
	<!—开启这个配置,spring才能识别@Scheduled注解   -->
	<task:annotation-driven scheduler="scheduler" executor="executor" />
</beans>
 

 java的类

package com.test.cache;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@Component
public class CrontabTask {
	
	@Scheduled(cron = "0 0/5 * * * *")
	public void autoBid() {
		System.out.println("执行定时任务");
	}
	
}

 

 

 

 

 

 参考: http://zywang.iteye.com/blog/949123

 

分享到:
评论

相关推荐

    使用Spring Task开发定时任务的Demo

    Spring Task,也称为Spring的内置任务调度框架,是Spring Framework的一部分,它提供了在Spring应用中定义和执行定时任务的能力。这个功能强大的工具使得开发者无需依赖外部任务调度库(如Quartz或Cron),就能在...

    spring之定时任务实现(spring-task和quartz等不同方式)

    Spring框架提供了一系列工具来支持定时任务的实现,其中包括Spring自带的`spring-task`模块和第三方的Quartz库。下面我们将详细探讨这两种方式以及如何通过注解和非注解的方式进行配置。 首先,`spring-task`是...

    Maven+SpringMVC+SpringTask定时任务

    【标题】"Maven+SpringMVC+SpringTask定时任务"是将三个强大的Java技术框架集成,用于构建具有定时执行功能的Web应用。Maven是一个项目管理工具,它帮助管理和构建Java项目,通过依赖管理和项目信息管理使得开发更加...

    springtask 和 quartz +ssh简单示例

    springtask 和 quartz +ssh简单示例springtask 和 quartz +ssh简单示例springtask 和 quartz +ssh简单示例springtask 和 quartz +ssh简单示例

    spring任务task配置

    springtask配置,大家一起参考学习下,分享下。Java方面

    spring定时任务关键jar包(齐全)

    `spring-context-support.jar`是Spring框架对Quartz和Commons JCR等第三方调度库的支持,同时也包含Spring自己的`TaskExecutor`和`TaskScheduler`接口,用于实现异步任务和定时任务。 1. **Spring TaskExecutor**: ...

    基于SpringCloud开发的在线教育系统

    业务层:Spring IOC、Aop事务控制、Spring Task任务调度、Feign、Ribbon、Spring AMQP、Spring Data Redis等。 控制层:Spring MVC、FastJSON、RestTemplate、Spring Security Oauth2+JWT等 微服务治理:Eureka、...

    spring 任务调度

    - **基本概念**:Spring Task是Spring框架的一部分,提供了基本的定时任务调度功能,包括`@Scheduled`注解用于标记定时任务,以及`TaskScheduler`和`ThreadPoolTaskScheduler`接口用于异步执行任务。 - **@...

    spring定时任务实现

    本文主要探讨了Spring中实现定时任务的三种主要方法:Java的`java.util.Timer`、Quartz库以及Spring自身的Task调度器。 首先,Java的`java.util.Timer`是一个基础的定时任务工具,它可以按照设定的频率执行任务,但...

    Spring-task定时任务

    **Spring-task定时任务详解** Spring-task是Spring框架的一部分,它为开发者提供了强大的任务调度和执行功能,使得在Java应用中实现定时任务变得简单易行。本文将深入探讨Spring-task的注解方式和XML配置方式的使用...

    springboot-task-starter.zip_grandfatherji1_spring_spring task 动态

    在Spring Boot框架中,Spring Task是用于执行后台任务的一个强大工具,它提供了对定时任务的简单易用的支持。本文将详细解析"springboot-task-starter.zip_grandfatherji1_spring_spring task 动态"这个压缩包所涵盖...

    spring基于task标签和通过xml配置实现任务的区别

    - `&lt;task&gt;`标签是Spring 3.0引入的特性,它简化了在Spring应用中配置定时任务的过程。你可以在Spring配置文件中直接声明`&lt;task:annotation-driven/&gt;`来启用对`@Scheduled`注解的支持。 - 使用`@Scheduled`注解,...

    Spring定时任务配置的三种方式

    对于spring定时任务配置的三种方式进行了验证:spring+qutarz ,spring task非注解配置,spring task 注解配置。资源中包括了整个项目和文档说明。my eclipse下开发的项目。

    Spring Task+Zookeeper分布式定时任务调度组件-Taroco-Scheduler.zip

    Spring Task和Zookeeper是两种在分布式环境中常用于任务调度的技术。Spring Task是Spring框架的一部分,提供了在Java应用程序中实现定时任务的能力,而Zookeeper则是一个分布式协调服务,常被用作分布式系统的配置...

    基于SpringBoot + SpringCloud+ElasticSear的在线教育管理系统+MySQL、MongoDB

    业务层:Spring IOC、Aop事务控制、Spring Task任务调度、Feign、Ribbon、Spring AMQP、Spring Data Redis等。 控制层:Spring MVC、FastJSON、RestTemplate、Spring Security Oauth2+JWT等 微服务治理:Eureka、...

    Spring Task定时任务的配置和使用详解

    在Spring框架中,Spring Task是用于实现定时任务的一个模块,它提供了在应用内部创建和管理定时任务的能力。无需依赖外部库如Quartz或CronTrigger,Spring Task可以方便地集成到Spring应用程序中,简化了定时任务的...

    spring-task-4.2.xsd.zip

    标题中的"spring-task-4.2.xsd.zip"是一个压缩包,主要包含了Spring框架中关于任务调度相关的XML Schema定义文件。这个文件对于理解Spring Task模块的配置至关重要,尤其是在开发环境中网络不稳定或者需要快速本地...

    Spring Task.docx

    【Spring Task】定时任务在IT行业中扮演着至关重要的角色,特别是在大数据处理、系统维护和自动化流程中。本文将深入探讨Spring框架内置的定时任务模块,Spring Task,以及如何在实际业务场景中应用它。 首先,让...

    Springboot 定时任务(task)

    在Spring Boot框架中,Spring Task是用于实现定时任务的一个强大工具。它允许开发者方便地创建和管理定时任务,而无需依赖外部的调度库,如Quartz或Cron。本项目利用了Spring Task的异步执行特性,以防止任务执行...

Global site tag (gtag.js) - Google Analytics