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中文网,转载请注明出处,感谢您的尊重!

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • LARS回归算法的几何意义

    LARS回归算法的几何意义LARS算法的几何意义 1   LARS算法简介  Efron于2004年发表在AnnalsofStatistics的文章LEASTANGLEREGRESSION中提出LARS算法,其核心思想是提出一种新的solutionpath(求解路径),即在已经入选的变量中,寻找一个新的路径,使得在这个路径上前进时,当前残差与已入选变量的相关系数都是相同的,直到找出新的比当前残差相

    2022年6月29日
    38
  • linux struts2漏洞,Struts2漏洞分析,漏洞波及全系版本

    linux struts2漏洞,Struts2漏洞分析,漏洞波及全系版本Struts漏洞分析ApacheStruts团队已经发布了Struts2.3.15.1安全更新版本。在Struts2.3.15.1版本之前,存在着严重的安全漏洞,如果现在一些比较大的网站是用JAVA做的,没有把版本升级,还用的是Strtus2.3.15.1版本之前的话,那么你们就要小心,服务器被黑了哦。下面就来说一下之前版本,Struts2的漏洞是如何产生的,我们自己去做,该如何的去解决这个…

    2022年7月19日
    13
  • 亲身经历从软通外包到华为OD,两者有什么区别?「建议收藏」

    亲身经历从软通外包到华为OD,两者有什么区别?「建议收藏」亲身经历从软通外包到华为OD,两者有什么区别?声明:本人所有言论仅限2021-04当前真实所在的部门情况。序言​ 坐标南京,本人2014年毕业于211本科院校,16年底加入软通动力,20年初转入华为OD。到如今算是经历了完整的OD模式。从被华为沟通加入OD,尝试第一次了解它的时候开始,网评就在外包/OD/自有三者之间疯狂比较。那本文就从外包/OD到底有什么区别?OD离自有有多远?来说说在如今华为社招基本停工的局面下,该如何面对华为这个ICT巨兽的招聘?希望对有些迷茫的人提供一些帮助。网上的声音有很多,

    2022年7月17日
    78
  • Linux 设置固定IP地址

    Linux 设置固定IP地址当我们安装完linux之后需要做的第一件事就是配置网络,因为有了网络我们可以做更多的事,比如下载插件,使用xshell工具连接等等ifconfig查看网络配置,类似windows的ipconfiglinux的网络配置文件一般在/etc/sysconfig/network-scripts/下面,使用命令cd切换到该路径下其中ifcfg-eth0就是虚拟机桥接的网络配置,如果有无…

    2022年5月2日
    67
  • 如何设置网址跳转_怎么让域名跳转到另一个域名

    如何设置网址跳转_怎么让域名跳转到另一个域名一、什么是URL转发?URL(UniformResourceLocator:统一资源定位器)是WWW页的地址,它从左到右由下述部分组成:Internet资源类型(scheme):指出WWW客户程序用来操作的工具。如“http://”表示WWW服务器,“ftp://”表示FTP服务器,“gopher://”表示Gopher服务器,而“new:”表示Newgroup新闻组。服务器地址…

    2022年10月10日
    2
  • pycharm2018设置中文界面_pycharm界面

    pycharm2018设置中文界面_pycharm界面pycharm中文版界面设置:(推荐学习:python视频教程)jJ1少儿编程网-Scratch_Python_教程_免费儿童编程学习平台1、找到pycharm的文件安装位置jJ1少儿编程网-Scratch_Python_教程_免费儿童编程学习平台jJ1少儿编程网-Scratch_Python_教程_免费儿童编程学习平台2、找到语言文件应安装的文件夹jJ1少儿编程网-Scratch_Python_…

    2022年8月25日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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