当前位置: 首页 > 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

 

相关文章:

  • 789. 数的范围
  • HTML5-原生History
  • 解决vue 部分页面缓存,部分页面不缓存的问题
  • 2023.11.15 关于 Spring Boot 配置文件
  • 基于Vue+SpringBoot的农村物流配送系统 开源项目
  • 使用composer安装ffmpeg的步骤
  • 数组相关面试题--5.合并两个有序数组
  • LEEDCODE 220 存在重复元素3
  • 数据分析场景下,企业如何做好大模型选型和落地?
  • 通付盾Web3专题 | KYT/AML:Web3合规展业的必要条件
  • 12 Go的接口
  • System.lineSeparator() 解决 append(“\r\n“) 换行符抛异常:No such file or diretory
  • 【C++】:STL——标准模板库介绍 || string类
  • how to find gcc openbug
  • 【计算机网络】TCP协议
  • C++类的相互关联
  • CAP 一致性协议及应用解析
  • HTTP 简介
  • Leetcode 27 Remove Element
  • SSH 免密登录
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 给初学者:JavaScript 中数组操作注意点
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 前端面试之CSS3新特性
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 使用Swoole加速Laravel(正式环境中)
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • #13 yum、编译安装与sed命令的使用
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (动手学习深度学习)第13章 计算机视觉---微调
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (企业 / 公司项目)前端使用pingyin-pro将汉字转成拼音
  • (全注解开发)学习Spring-MVC的第三天
  • (五)MySQL的备份及恢复
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • (转)关于pipe()的详细解析
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • ***测试-HTTP方法
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .net 7 上传文件踩坑
  • .net Stream篇(六)
  • .NET开源全面方便的第三方登录组件集合 - MrHuo.OAuth
  • .NET项目中存在多个web.config文件时的加载顺序
  • .py文件应该怎样打开?
  • /usr/bin/perl:bad interpreter:No such file or directory 的解决办法
  • @FeignClient注解,fallback和fallbackFactory
  • @Not - Empty-Null-Blank
  • @Repository 注解
  • [1]-基于图搜索的路径规划基础
  • [100天算法】-x 的平方根(day 61)