定时任务job (现成直接用)

1. 任务调度的2种方式

1. bean调用示例: 对应的类上加@Component或@Service注解, 类名.方法名(ryTask.ryNoParams) 类名首字母小写; 该类必须要在com.ruoyi 包下, 因为有校验
2. 权限类名调用示例: com.ruoyi.quartz.task.RyTask.ryNoParams

注意: class(类名)调用的时候, 只能调用com.ruoyi包中的类, 如果想要其它包也能调用, 则需修改配置
    /*** 定时任务白名单配置(仅允许访问的包名,如其他需要可以自行添加)*/public static final String[] JOB_WHITELIST_STR = { "com.ruoyi" };

2. 默认定时任务

 预留的三个定时任务

import org.springframework.stereotype.Component;
import com.ruoyi.common.utils.StringUtils;/*** 定时任务调度测试* * @author ruoyi*/
@Component("ryTask")
public class RyTask
{public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i){System.out.println(StringUtils.format("执行多参方法: 字符串类型{},布尔类型{},长整型{},浮点型{},整形{}", s, b, l, d, i));}public void ryParams(String params){System.out.println("执行有参方法:" + params);}public void ryNoParams(){System.out.println("执行无参方法");}
}

开启ryNoParams()

执行效果:
执行无参方法
22:02:10.001 [quartzScheduler_Worker-7] DEBUG c.r.q.m.S.insertJobLog - [debug,137] - ==>  Preparing: insert into sys_job_log( job_name, job_group, invoke_target, job_message, status, create_time )values( ?, ?, ?, ?, ?, sysdate() )
22:02:10.001 [quartzScheduler_Worker-7] DEBUG c.r.q.m.S.insertJobLog - [debug,137] - ==> Parameters: 系统默认(无参)(String), DEFAULT(String), ryTask.ryNoParams(String), 系统默认(无参) 总共耗时:0毫秒(String), 0(String)
22:02:10.007 [quartzScheduler_Worker-7] DEBUG c.r.q.m.S.insertJobLog - [debug,137] - <==    Updates: 1
执行无参方法
22:02:20.000 [quartzScheduler_Worker-8] DEBUG c.r.q.m.S.insertJobLog - [debug,137] - ==>  Preparing: insert into sys_job_log( job_name, job_group, invoke_target, job_message, status, create_time )values( ?, ?, ?, ?, ?, sysdate() )
22:02:20.000 [quartzScheduler_Worker-8] DEBUG c.r.q.m.S.insertJobLog - [debug,137] - ==> Parameters: 系统默认(无参)(String), DEFAULT(String), ryTask.ryNoParams(String), 系统默认(无参) 总共耗时:0毫秒(String), 0(String)
22:02:20.012 [quartzScheduler_Worker-8] DEBUG c.r.q.m.S.insertJobLog - [debug,137] - <==    Updates: 1

 

 

开启 ryParams(String params)

 

执行效果: 
执行有参方法:ry
22:05:15.014 [quartzScheduler_Worker-10] DEBUG c.r.q.m.S.insertJobLog - [debug,137] - ==>  Preparing: insert into sys_job_log( job_name, job_group, invoke_target, job_message, status, create_time )values( ?, ?, ?, ?, ?, sysdate() )
22:05:15.014 [quartzScheduler_Worker-10] DEBUG c.r.q.m.S.insertJobLog - [debug,137] - ==> Parameters: 系统默认(有参)(String), DEFAULT(String), ryTask.ryParams('ry')(String), 系统默认(有参) 总共耗时:0毫秒(String), 0(String)
22:05:15.021 [quartzScheduler_Worker-10] DEBUG c.r.q.m.S.insertJobLog - [debug,137] - <==    Updates: 1
执行有参方法:ry
22:05:30.008 [quartzScheduler_Worker-1] DEBUG c.r.q.m.S.insertJobLog - [debug,137] - ==>  Preparing: insert into sys_job_log( job_name, job_group, invoke_target, job_message, status, create_time )values( ?, ?, ?, ?, ?, sysdate() )
22:05:30.008 [quartzScheduler_Worker-1] DEBUG c.r.q.m.S.insertJobLog - [debug,137] - ==> Parameters: 系统默认(有参)(String), DEFAULT(String), ryTask.ryParams('ry')(String), 系统默认(有参) 总共耗时:0毫秒(String), 0(String)
22:05:30.021 [quartzScheduler_Worker-1] DEBUG c.r.q.m.S.insertJobLog - [debug,137] - <==    Updates: 1

开启 ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i)

 

 

执行效果: 
执行多参方法: 字符串类型ry,布尔类型true,长整型2000,浮点型316.5,整形100
22:08:00.001 [quartzScheduler_Worker-9] DEBUG c.r.q.m.S.insertJobLog - [debug,137] - ==>  Preparing: insert into sys_job_log( job_name, job_group, invoke_target, job_message, status, create_time )values( ?, ?, ?, ?, ?, sysdate() )
22:08:00.001 [quartzScheduler_Worker-9] DEBUG c.r.q.m.S.insertJobLog - [debug,137] - ==> Parameters: 系统默认(多参)(String), DEFAULT(String), ryTask.ryMultipleParams('ry', true, 2000L, 316.50D, 100)(String), 系统默认(多参) 总共耗时:0毫秒(String), 0(String)
22:08:00.001 [quartzScheduler_Worker-9] DEBUG c.r.q.m.S.insertJobLog - [debug,137] - <==    Updates: 1
执行多参方法: 字符串类型ry,布尔类型true,长整型2000,浮点型316.5,整形100
22:08:20.014 [quartzScheduler_Worker-10] DEBUG c.r.q.m.S.insertJobLog - [debug,137] - ==>  Preparing: insert into sys_job_log( job_name, job_group, invoke_target, job_message, status, create_time )values( ?, ?, ?, ?, ?, sysdate() )
22:08:20.014 [quartzScheduler_Worker-10] DEBUG c.r.q.m.S.insertJobLog - [debug,137] - ==> Parameters: 系统默认(多参)(String), DEFAULT(String), ryTask.ryMultipleParams('ry', true, 2000L, 316.50D, 100)(String), 系统默认(多参) 总共耗时:0毫秒(String), 0(String)
22:08:20.018 [quartzScheduler_Worker-10] DEBUG c.r.q.m.S.insertJobLog - [debug,137] - <==    Updates: 1

3. 新增定时任务

自定义类 MyTaskTest
package com.ruoyi.ruoyiwx.myTask;import org.springframework.stereotype.Component;/*** 注意: 该类需要在com.ruoyi 包下才会生效, 因为有校验*/
@Component
public class MyTaskTest {public void myTask(){System.out.println("执行无参方法: ---------------myTask");}
}

界面上新增定时任务

执行效果: 
执行无参方法: ---------------myTask
22:57:40.004 [quartzScheduler_Worker-6] DEBUG c.r.q.m.S.insertJobLog - [debug,137] - ==>  Preparing: insert into sys_job_log( job_name, job_group, invoke_target, job_message, status, create_time )values( ?, ?, ?, ?, ?, sysdate() )
22:57:40.004 [quartzScheduler_Worker-6] DEBUG c.r.q.m.S.insertJobLog - [debug,137] - ==> Parameters: 我的定时任务(String), DEFAULT(String), myTaskTest.myTask(String), 我的定时任务 总共耗时:0毫秒(String), 0(String)
22:57:40.019 [quartzScheduler_Worker-6] DEBUG c.r.q.m.S.insertJobLog - [debug,137] - <==    Updates: 1
执行无参方法: ---------------myTask
22:57:50.003 [quartzScheduler_Worker-7] DEBUG c.r.q.m.S.insertJobLog - [debug,137] - ==>  Preparing: insert into sys_job_log( job_name, job_group, invoke_target, job_message, status, create_time )values( ?, ?, ?, ?, ?, sysdate() )
22:57:50.003 [quartzScheduler_Worker-7] DEBUG c.r.q.m.S.insertJobLog - [debug,137] - ==> Parameters: 我的定时任务(String), DEFAULT(String), myTaskTest.myTask(String), 我的定时任务 总共耗时:0毫秒(String), 0(String)
22:57:50.013 [quartzScheduler_Worker-7] DEBUG c.r.q.m.S.insertJobLog - [debug,137] - <==    Updates: 1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/97668.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【java】【项目实战】[外卖九]项目优化(缓存)

目录 一、问题说明 二、环境搭建 2.1 Git管理代码 2.1.1 创建本地仓库 2.1.2 创建远程仓库 2.1.3 创建分支--》推送到远程仓库 2.2 maven坐标 2.3 配置文件application.yml 2.4 配置类RedisConfig 三、缓存短信验证码 3.1 实现思路 3.2 代码改造 3.2.1 UserContro…

电商实战项目(java)知识点整理(持续更新)《苍穹外卖》

一、重要知识点精讲 1.1 nginx反向代理 1. nginx反向代理好处&#xff1a; 1. 提高访问速度&#xff08;可以进行缓存&#xff0c;如果访问相同资源可以直接响应数据&#xff09; 2. 可以进行负载均衡&#xff08;如果没有nginx前端只能固定地访问后端某一台服务器&#xf…

真香:Alibaba开源GitHub星标100K微服务架构全彩进阶手册

前言&#xff1a; 微服务架构作为一种高效灵活的应用架构&#xff0c;正在成为企业级应用开发的主流选择。在众多的微服务架构指南中&#xff0c;阿里巴巴开源的GitHub微服务架构全彩进阶手册备受瞩目&#xff0c;其100star更是证明了其在开发者社区中的重要地位。 这本手册汇…

Linux下 /sys/class 一些操作

Linux下&#xff0c;/dev、/sys/class的区别 /dev下面有很多节点&#xff0c;每一个节点代表一个设备&#xff0c;/dev目录下面是按物理器件进行分类&#xff1b;而/sys/class下面的更多是按功能抽象出来的。 参考1 demo 在正点原子的基础上进行演示 #include <linux/ty…

Android开机动画

Android开机动画 1、BootLoader开机图片2、Kernel开机图片3、系统启动时&#xff08;BootAnimation&#xff09;动画3.1 bootanimation.zip位置3.2 bootanimation启动3.3 SurfaceFlinger启动bootanimation3.4 播放开机动画playAnimation3.6 开机动画退出检测3.7 简易时序图 4、…

【力扣周赛】第 361 场周赛(⭐前缀和+哈希表 树上倍增、LCA⭐)

文章目录 竞赛链接Q1&#xff1a;7020. 统计对称整数的数目竞赛时代码——枚举预处理 Q2&#xff1a;8040. 生成特殊数字的最少操作&#xff08;倒序遍历、贪心&#xff09;竞赛时代码——检查0、00、25、50、75 Q3&#xff1a;2845. 统计趣味子数组的数目竞赛时代码——前缀和…

嵌入式基础知识-DMA

本篇来介绍DMA的一些基础知识。 1 DMA简介 DMA&#xff08;Direct Memory Access&#xff09;,中文名为直接内存访问&#xff0c;它是一些计算机总线架构提供的功能&#xff0c;能使数据从附加设备&#xff08;如磁盘驱动器&#xff09;直接发送到计算机主板的内存上。对应嵌…

视频汇聚/视频云存储/视频监控管理平台EasyCVR部署后无法正常启用是什么问题?该如何解决?

安防监控/视频监控/视频汇聚平台EasyCVR能在复杂的网络环境中&#xff0c;将分散的各类视频资源进行统一汇聚、整合、集中管理&#xff0c;在视频监控播放上&#xff0c;视频云存储/安防监控汇聚平台EasyCVR支持多种播放协议&#xff0c;包括&#xff1a;HLS、HTTP-FLV、WebSoc…

kafka-- kafka集群环境搭建

kafka集群环境搭建 # 准备zookeeper环境 (zookeeper-3.4.6) # 下载kafka安装包 https://archive.apache.org/dist/kafka/2.1.0/kafka_2.12-2.1.0.tgz # 上传 : 172.16.144.133 cd /usr/local/softwaretar -zxvf /usr/local/software/kafka_2.12-2.1.0.tgz -C /usr/local…

BCSP-玄子Share-Java框基础_工厂模式/代理模式

三、设计模式 3.1 设计模式简介 软件设计中的三十六计是人们在长期的软件开发中的经验总结是对某些特定问题的经过实践检验的特定解决方法被广泛运用在 Java 框架技术中 3.1.1 设计模式的优点 设计模式是可复用的面向对象软件的基础可以更加简单方便地复用成功的设计和体系…

UDP和TCP协议报文格式详解

在初识网络原理(初识网络原理_蜡笔小心眼子&#xff01;的博客-CSDN博客)这篇博客中,我们简单的了解了一下TCP/IP五层网络模型,这篇博客将详细的学习一下五层网络模型中传输层的两个著名协议:UDP和TCP 目录 一, 传输层的作用 二, UDP 1,UDP协议的特点 2,UDP报文格式 三, TC…

qt连接tcp通信和连接数据库

通过数据库实现学生管理系统 widget.cpp #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);//判断数据库对象是否包含了自己使用的数据库 Studemt.dbif(!db.co…