spring高级话题——定时任务

标签: 定时任务
7人阅读 评论(0) 收藏 举报
分类:

自spring3.1开始,其计划任务实现非常简单,首先,通过配置类注解@EnableScheduling来开启对计划任务的支持,然后在执行计划任务的方法上注解@Scheduled,声明这是一个计划任务。@Scheduled注解支持很多属性的配置,例如(cron、fixDelasy、fixRate)等

实例代码:

TaskSchedulerConfig.java

package com.minivison.caixing.learn.scheduled;

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

/**
 * <Description> <br>
 *
 * @author caixing<br>
 * @version 1.0<br>
 * @taskId <br>
 * @CreateDate 2018年04月17日 <br>
 */
@Configuration
@ComponentScan("com.minivison.caixing.learn.scheduled")
@EnableScheduling
public class TaskSchedulerConfig {

}

TaskService.java

package com.minivison.caixing.learn.scheduled;

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

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

/**
 * <Description> <br>
 *
 * @author caixing<br>
 * @version 1.0<br>
 * @taskId <br>
 * @CreateDate 2018年04月17日 <br>
 */
@Service
public class TaskService {
    private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("HH:mm:ss");

    @Scheduled(fixedRate = 5000)
    public void reportCurrectTime(){
        System.out.println("每个5秒执行一次"+DATE_FORMAT.format(new Date()));
    }

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


}

Main.java

package com.minivison.caixing.learn;

import com.minivison.caixing.learn.scheduled.TaskSchedulerConfig;
import com.minivison.caixing.learn.scheduled.TaskService;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

import javax.imageio.stream.FileImageInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;

/**
 * <Description> <br>
 *
 * @author caixing<br>
 * @version 1.0<br>
 * @taskId <br>
 * @CreateDate 2018年04月12日 <br>
 */
public class Main {
    public static void main(String[] args) throws Exception {
        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(TaskSchedulerConfig.class);
        //TaskService service = context.getBean(TaskService.class);
        //service.reportCurrectTime();
        //context.close();
        //String str = Base64Utils.encodeToString(image2byte("E:\\123.jpg"));
        //System.out.println(str);

    }

    public static byte[] image2byte(String path) {
        byte[] data = null;
        FileImageInputStream input = null;
        try {
            input = new FileImageInputStream(new File(path));
            ByteArrayOutputStream output = new ByteArrayOutputStream();
            byte[] buf = new byte[1024];
            int numBytesRead = 0;
            while ((numBytesRead = input.read(buf)) != -1) {
                output.write(buf, 0, numBytesRead);
            }
            data = output.toByteArray();
            output.close();
            input.close();
        } catch (FileNotFoundException ex1) {
            ex1.printStackTrace();
        } catch (IOException ex1) {
            ex1.printStackTrace();
        }
        return data;
    }
}

查看评论

【Spring】Spring高级话题-测试Spring项目

转载请注明出处:http://blog.csdn.net/qq_26525215 本文源自【大学之旅_谙忆的博客】 进行本示例的演示,需要先配置好Maven和Spring哦、 见: 【Spring...
  • qq_26525215
  • qq_26525215
  • 2016-12-10 11:37:48
  • 1630

《Python学习手册》学习笔记(19)之第19章函数的高级话题(关键词:编程语言/Python/递归函数/匿名函数)

第19章 函数的高级话题参考文献: 1.《Python学习手册》。
  • qq_33528613
  • qq_33528613
  • 2017-10-07 09:57:49
  • 106

java定时任务代码-spring管理.txt

  • 2011年10月27日 11:54
  • 7KB
  • 下载

高级C语言详解

  • 2012年08月18日 09:49
  • 1.58MB
  • 下载

c语言高级技巧

  • 2012年12月12日 14:21
  • 641KB
  • 下载

高级指针话题

在openssl里出现了大量的指向指针的指针和函数指针,一直不太理解,今天看书上有一章介绍指针的高级话题,赶紧把它记录下来。  1,指针以及初始化  指针是一个地址,它指向内存中某个指定类型的值,而操...
  • sagely
  • sagely
  • 2005-04-28 20:38:00
  • 1942

Spring 定时任务源码(spring 三种定时任务的实现方式)

  • 2012年11月19日 17:53
  • 87KB
  • 下载

《Python学习手册》学习笔记(19)之第19章函数的高级话题(关键词:编程语言/Python/函数/递归函数/匿名函数)

第20章 迭代和解析,第二部分参考文献: 1.《Python学习手册》。
  • qq_33528613
  • qq_33528613
  • 2017-10-07 09:59:00
  • 93

Spring高级话题_多线程

随风飘1990 2016-10-24 08:18 多线程 1.说明 Spring通过任务执行器(TaskExecutor)来实现多线程和并发编程。使用ThredPoolTaskExec...
  • u011277123
  • u011277123
  • 2016-10-27 18:17:45
  • 296

第三章:Spring的高级话题

3.1 SpringAware 3.1.1 说明 Spring的依赖注入的最大亮点就是你所有的Bean对Spring容器的存在是没有意识的。Bean之间的耦合度很低。若使用了SpringAware...
  • ruben95001
  • ruben95001
  • 2018-04-02 02:14:33
  • 125
    个人资料
    持之以恒
    等级:
    访问量: 909
    积分: 258
    排名: 30万+
    最新评论