博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
轻松实现定时调度[Spring Task + Cron]
阅读量:6857 次
发布时间:2019-06-26

本文共 1489 字,大约阅读时间需要 4 分钟。

使用Quartz组件完成定时调度特别麻烦,一定要换成Spring Task

定义一个任务的执行类

package zzu.mzy.util ;import java.text.SimpleDateFormat;public class MyTaskA { //不需要去继承任何的父类    public void runJob() {        System.out.println("当前日期时间" + new SimpleDateFormat("yyyy-MM-dd        HH:mm:ss.SSS").format(new java.util.Date()));    }}

用Spring Task完成一般有两种形式:

1、xml文件配置
2、注解配置

1.基于配置文件:

修改applicationContext.xml文件

需要追加task处理的命名空间定义

xmlns:task="http://www.springframework.org/schema/task"http://www.springframework.org/schema/taskhttp://www.springframework.org/schema/task/spring-task-4.1.xsd

此时已提供好了该文件的原始文件Schema,将其配置到XML编译环境之中,随后进行task操作的配置,首先配置间隔触发

使用Cron定时触发

2.基于Annotation:

修改applicationContext.xml

配置间隔触发

package zzu.mzy.util;import java.text.SimpleDateFormat;import org.springframework.scheduling.annotation.Scheduled;import org.springframework.stereotype.Component;@Component // 标记出这是一个交由Spring管理的JavaBean类public class MyTaskB { // 不继承任何的父类@Scheduled(cron="* * * * * ?") // 设置为每秒一触发    public void runJob() {        System.out.println("【MyTaskB - 当前日期时间】" + new SimpleDateFormat("yyyy-MM-dd        HH:mm:ss.SSS").format(new java.util.Date()));    }}

当然,如果有多个定时任务,为避免差错,一定不能让他们顺序执行,最好是

建立一个调度池

使所有的任务不再是单线程的形式完成,而是多线程

这样,基于Spring Task + Cron实现的任务调度就完成了,Spring对于定时任务的处理支持要比原始的QuartZ组件更加方便,但还是有很多人愿意用QuartZ,真的搞不懂唉

转载于:https://www.cnblogs.com/gscq073240/articles/6416624.html

你可能感兴趣的文章
[CC-SEABUB]Sereja and Bubble Sort
查看>>
JS设置cookie、读取cookie、删除cookie
查看>>
我的博客园的CSS和html设置
查看>>
数论基础(维诺格拉多夫著,裘光明译) 勘误
查看>>
vue-cookies的使用
查看>>
Code Signal_练习题_Make Array Consecutive2
查看>>
双向循环链表 初始化 插入 删除
查看>>
C#设计模式:职责链模式(Chain of Responsibility)
查看>>
Knockout.js随手记(2)
查看>>
条件注释判断IE浏览器
查看>>
Hibernate,删除对象时错误。
查看>>
C#中Cookies的读取
查看>>
冬季养生进补20招
查看>>
20179311《网络攻防实践》第四周作业
查看>>
《thinking in Java》第三章 控制程序流程
查看>>
《游戏引擎架构》笔记一
查看>>
pythoy-生成器
查看>>
Redis 分布式锁进化史
查看>>
Java 集合系列05之 LinkedList详细介绍(源码解析)和使用示例
查看>>
Codeforces Round #547 (Div. 3) D
查看>>