Java服务器端编程

Spring定时任务

2017-03-15  本文已影响0人  StormMa
/**
*@author StormMaybin
*@date 2017-01-28
*/

生命不息,奋斗不止!


Spring 定时任务介绍

从spring 3.1开始,计划任务在Spring中的实现变得异常的简单,首先通过类注解@EnableScheduing 来开启对计划任务的支持!然后在要执行的计划任务上面添加@Scheduled,声明这是一个计划任务!

计划执行类

ScheduledTaskService.java

package com.stormma.service;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * <p>Created by StormMa on 2017/1/28.</p>
 *
 * @author StormMa
 */
@Service
public class ScheduledTaskService {

    private static final SimpleDateFormat dateFormat = new
            SimpleDateFormat("HH:mm:ss");

    @Scheduled(fixedRate = 5000)
    public void reportCurrentTime() {
        System.out.println("每隔五秒钟执行一次: " + dateFormat.format(new Date()));
    }

    @Scheduled(cron = "0 28 11 ? * *")
    public void fixTimeExecution() {
        System.out.println("在指定时间 " + dateFormat.format(new Date()) + "执行");
    }
}

配置类

MyConfig.java

package com.stormma.config;

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;

/**
 * <p>Created by StormMa on 2017/1/28.</p>
 *
 * @author StormMa
 */
@Configuration
@EnableScheduling
@ComponentScan("com.stormma")
public class MyConfig {
}

运行类

Client.java

package com.stormma.client;

import com.stormma.config.MyConfig;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

/**
 * <P>Created by StormMa on 2017/1/28.</P>
 *
 * @author StormMa
 */
public class Client {

    public static void main(String [] args) {
        AnnotationConfigApplicationContext context = new
                AnnotationConfigApplicationContext(MyConfig.class);
    }
}
上一篇下一篇

猜你喜欢

热点阅读