Spring轻量级调度

来源:互联网 发布:java completefuture 编辑:程序博客网 时间:2024/06/15 20:03

Spring轻量级调度,Spring在新的版本中提供了调度组件,能够实现注解调度任务。

1、pom文件

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  <modelVersion>4.0.0</modelVersion>  <groupId>Zlearning</groupId>  <artifactId>Zlearning</artifactId>  <version>0.0.1-SNAPSHOT</version>  <dependencies>    <dependency>    <groupId>org.springframework</groupId>    <artifactId>spring-context</artifactId>    <version>4.3.1.RELEASE</version></dependency><!-- https://mvnrepository.com/artifact/org.springframework/spring-tx --><dependency>    <groupId>org.springframework</groupId>    <artifactId>spring-tx</artifactId>    <version>4.3.1.RELEASE</version></dependency><dependency>    <groupId>org.springframework</groupId>    <artifactId>spring-core</artifactId>    <version>4.3.1.RELEASE</version></dependency><dependency>    <groupId>org.springframework</groupId>    <artifactId>spring-test</artifactId>    <version>2.5</version></dependency><dependency>    <groupId>junit</groupId>    <artifactId>junit</artifactId>    <version>4.12</version></dependency>  </dependencies></project>

2、调度任务(10秒钟打印一次)

package Scheduler;import org.springframework.scheduling.annotation.Scheduled;import org.springframework.stereotype.Component;@Componentpublic class DailyScheduler {    @Scheduled(cron = "0/10 * * * * ? ")    public void process(){        System.out.println("doing job...");    }}

4、spring配置

<?xml version="1.0" encoding="UTF-8"?><!--    - Middle tier application context definition for the image database.--><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:tx="http://www.springframework.org/schema/tx"    xmlns:task="http://www.springframework.org/schema/task"    xmlns:aop="http://www.springframework.org/schema/aop"    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd  http://www.springframework.org/schema/task  http://www.springframework.org/schema/task/spring-task-4.0.xsd">    <context:component-scan base-package="Scheduler"/>    <task:annotation-driven/></beans>

5、测试类

package Scheduler;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.ApplicationContext;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations = { "classpath:applicationContext.xml" })public class DailySchedulerTest {    @Autowired    protected ApplicationContext context;    @Test    public void testScheduler(){        while(true){            //空循环,保证spring在启动状态即可        }    }}

6、输出
这里写图片描述

0 0
原创粉丝点击