当前位置: 首页 > news >正文

Trigger替换Demo

maven工程

pom依赖   

<dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz</artifactId><version>2.2.1</version>
</dependency>

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;/*** @author hrui* @date 2023/11/17 0:52*/
public class MyJob implements Job {@Overridepublic void execute(JobExecutionContext context) throws JobExecutionException {//Object user = context.getJobDetail().getJobDataMap().get("user");Object user = context.getTrigger().getJobDataMap().get("user");System.out.println(user+"在执行任务");}
}
import org.quartz.*;
import org.quartz.impl.StdSchedulerFactory;/*** @author hrui* @date 2023/11/17 0:52*/
public class Test {public static void main(String[] args) throws SchedulerException {Scheduler scheduler= StdSchedulerFactory.getDefaultScheduler();JobDetail jobDetail= JobBuilder.newJob(MyJob.class).withIdentity("job1", "group1").build();Trigger trigger=TriggerBuilder.newTrigger().withIdentity("trg1", "tg1").usingJobData("user", "用户1").withSchedule(CronScheduleBuilder.cronSchedule("*/2 * * * * ?")).build();scheduler.scheduleJob(jobDetail, trigger);scheduler.start();try {Thread.sleep(5000);} catch (InterruptedException e) {e.printStackTrace();}Trigger newTrigger = TriggerBuilder.newTrigger().withIdentity("newTrigger", "tg1").startNow().usingJobData("user", "用户2").withSchedule(CronScheduleBuilder.cronSchedule("*/3 * * * * ?")).build();// 替换原始触发器 替换之后,原来的触发器会被删除scheduler.rescheduleJob(trigger.getKey(), newTrigger);Trigger trigger1 = scheduler.getTrigger(trigger.getKey());System.out.println(trigger1);Trigger trigger2 = scheduler.getTrigger(newTrigger.getKey());System.out.println(trigger2);}
}

执行结果

解决日志问题

引入日志依赖   pom文件

<dependencies><dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz</artifactId><version>2.2.1</version></dependency><!--log4j--><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.12</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>RELEASE</version><scope>compile</scope></dependency></dependencies>

resources下 新建  log4j.properties文件

# 设置日志级别为INFO
log4j.rootCategory=INFO, stdout# 输出到控制台的appender配置
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n# 输出到文件的appender配置
log4j.appender.file=org.apache.log4j.RollingFileAppender
#log4j.appender.file.File=/path/to/quartz.log
log4j.appender.file.File=F:/quartz.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=5
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n# 配置quartz的日志级别为INFO,并将日志输出到控制台和文件
log4j.logger.org.quartz=INFO, stdout, file

 

http://www.lryc.cn/news/232655.html

相关文章:

  • iApp祁天社区UI成品源码 功能齐全的社区应用
  • python基于BAC0库进行bacnet IP的读写
  • CSDN每日一题学习训练——Python版(简化路径,不同的二叉搜索树)
  • milvus集合管理
  • 基于SSM的教学管理系统设计与实现
  • 【第2章 Node.js基础】2.7 Node.js 的流(一)可写流
  • 【kerberos】使用 curl 访问受 Kerberos HTTP SPNEGO 保护的 URL
  • 基于SSM的智慧养老平台设计与实现
  • 图像生成colab集合
  • SpringBoot整合Quartz示例
  • 物联网AI MicroPython学习之语法 I2C总线
  • RocketMQ的适用场景有哪些?
  • ubuntu启动转圈,无法进入登录界面
  • MATLAB 机械臂逆运动学进行轨迹控制建模
  • 【计算机组成原理】定点加法、减法运算
  • scp 跨服务器传输命令,把一个服务器上的文件复制传到当前服务器目录下
  • 【python基础】用户输入和while循环详解
  • k8s-部署Redis-cluster(TLS)
  • 计算机毕业设计选题推荐-幼儿园管理微信小程序/安卓APP-项目实战
  • ElasticStack日志分析平台-ES 集群、Kibana与Kafka
  • 微机原理_10
  • (SpringBoot)第八章:SpringMVC程序开发
  • openssl + 3DES开发实例(linux)
  • 遵循开源软件安全路线图
  • 294_C++_
  • 【计算机网络笔记】网络地址转换(NAT)
  • 【flink理论】动态表:关系查询处理流的思路:连续查询、状态维护;表转换为流需要编码编码
  • 2023年09月 Python(六级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • Ubuntu16.04上安装Docker
  • FSOD论文阅读 - 基于卷积和注意力机制的小样本目标检测