java定时任务quartz配置_taskregistrar

java定时任务quartz配置_taskregistrar这篇文章主要介绍了spring中定时任务taskScheduler的相关资料,文中通过示例代码介绍的很详细,相信对大家具有一定的参考价值,有需要的朋友们下面来一起看看吧。前言众所周知在spring3.0版本后,自带了一个定时任务工具,而且使用简单方便,不用配置文件,可以动态改变执行状态。也可以使用cron表达式设置定时任务。被执行的类要实现Runnable接口TaskScheduler接口Tas…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

这篇文章主要介绍了spring中定时任务taskScheduler的相关资料,文中通过示例代码介绍的很详细,相信对大家具有一定的参考价值,有需要的朋友们下面来一起看看吧。

前言

众所周知在spring 3.0版本后,自带了一个定时任务工具,而且使用简单方便,不用配置文件,可以动态改变执行状态。也可以使用cron表达式设置定时任务。

被执行的类要实现Runnable接口

TaskScheduler接口

TaskScheduler是一个接口,TaskScheduler接口下定义了6个方法

ff15462a7eaa68b278413f99546e9905.png

1、schedule(Runnable task, Trigger trigger);

指定一个触发器执行定时任务。可以使用CronTrigger来指定Cron表达式,执行定时任务

CronTrigger t = new CronTrigger(“0 0 10,14,16 * * ?”);

taskScheduler.schedule(this, t);

2、schedule(Runnable task, Date startTime);

指定一个具体时间点执行定时任务,可以动态的指定时间,开启任务。只执行一次。(比Timer好用多了。早发现这接口就好了。。。)

3、scheduleAtFixedRate(Runnable task, long period);

立即执行,循环任务,指定一个执行周期(毫秒计时)

PS:不管上一个周期是否执行完,到时间下个周期就开始执行

4、scheduleAtFixedRate(Runnable task, Date startTime, long period);

指定时间开始执行,循环任务,指定一个间隔周期(毫秒计时)

PS:不管上一个周期是否执行完,到时间下个周期就开始执行

5、scheduleWithFixedDelay(Runnable task, long delay);

立即执行,循环任务,指定一个间隔周期(毫秒计时)

PS:上一个周期执行完,等待delay时间,下个周期开始执行

6、scheduleWithFixedDelay(Runnable task, Date startTime, long delay);

指定时间开始执行,循环任务,指定一个间隔周期(毫秒计时)

PS:上一个周期执行完,等待delay时间,下个周期开始执行

TaskScheduler下有五个实现类

58ca4247b0d4c627e714ab54e141afda.png

1、ConcurrentTaskScheduler

以当前线程执行任务。如果任务简单,可以直接使用这个类来执行。快捷方便。

PS:这是单线程运行

public class LocTest implements Runnable {

private ConcurrentTaskScheduler tpts = new ConcurrentTaskScheduler();

private void start() {

tpts.schedule(this, new Date());

}

public void run() {

Thread ct = Thread.currentThread();

System.out.println(“current id:”+ct.getId());

System.out.println(“current name:”+ct.getName());

}

public static void main(String[] args) {

new LocTest().start();

}

}

2、DefaultManagedTaskScheduler

以当前线程执行任务,这是ConcurrentTaskScheduler的子类,添加了JNDI的支持。和ConcurrentTaskScheduler一样的用法,需要使用JNDI可以单独设置

3、ThreadPoolTaskScheduler

TaskScheduler接口的默认实现类,多线程定时任务执行。可以设置执行线程池数(默认一个线程)。

PS:使用前必须得先调用initialize() 【初始化方法】

有shutDown()方法,执行完后可以关闭线程

public class LocTest implements Runnable {

private ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();

private void start() {

taskScheduler.setPoolSize(10);

//必须得先初始化,才能使用

taskScheduler.initialize();

taskScheduler.schedule(this, new Date());

}

public void run() {

Thread ct = Thread.currentThread();

System.out.println(“current id:”+ct.getId());

System.out.println(“current name:”+ct.getName());

}

public static void main(String[] args) {

new LocTest().start();

}

}

4、TimerManagerTaskScheduler

这个没有使用到,就没具体了解,有时间再补充。有了解的欢迎来补充。

总结

以上就是spring中定时任务taskScheduler的代码示例详细介绍的内容,更多相关内容请关注PHP中文网(www.php.cn)!

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/183152.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • webgame开发中的文件加密

    webgame开发中的文件加密一般的webgame中都会对资源、消息进行加密,这里只是简单记录一下对文件的加密过程。上图为实际项目中所使用的加密工具(较为简单的一个air项目)输入加密key+需要加密的文件–>加密–>将加密后的文件保存至另一目录(后缀名视自己的项目的规则进行修改)实现步骤:1、读取文件(flash.filesystem.File),获取文件流(…

  • ethtool用法 linux_ethtool用法

    ethtool用法 linux_ethtool用法Linux/Unix命令之Ethtool描述:Ethtool是用于查询及设置网卡参数的命令。概要:ethtoolethX//查询ethX网口基本设置ethtool–h//显示ethtool的命令帮助(help)ethtool–iethX//查询ethX网口的相关信息ethtool–dethX//查询ethX网口注册性信息ethtool–rethX//重置ethX网口到自适应模式ethtoo…

  • eagleget安卓_android startactivityforresult

    eagleget安卓_android startactivityforresult前言:AndroidEagleEye官方介绍在https://github.com/MindMac/AndroidEagleEye/blob/master/README-zh.md真的像老鹰样检测系统调用了哪些api,作者很厉害!作为笔记来说,是官方readme的补充,也是自己的备忘。笔记1,EagleEye源码能否修改再重新打包?能,修改代码后加上

  • 全国计算机等级考试二级教程2019年版——Python语言程序设计参考答案[通俗易懂]

    全国计算机等级考试二级教程2019年版——Python语言程序设计参考答案

  • linux查看全部环境变量_linux刷新环境变量命令

    linux查看全部环境变量_linux刷新环境变量命令阅读目录linux查看环境变量linux变量的种类设置变量的三种方法使用unset删除指定的环境变量删除PATH环境变量指定值常用的环境变量其他linux查看环境变量1.使用echo命令查看单个环境变量。例如:echo$PATH2.使用env查看所有环境变量。例如:env3.使用set查看所有本地定义的环境变量。linux变量的种类按变量的生存周期来划分,Linux变量可分…

  • 触发显示和隐藏 div

    触发显示和隐藏 div

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号