quartz 表结构 mysql_Quartz表结构说明

一、表信息解析:

1.1. qrtz_blob_triggers : 以Blob 类型存储的触发器。

1.2. qrtz_calendars:存放日历信息, quartz可配置一个日历来指定一个时间范围。

1.3. qrtz_cron_triggers:存放cron类型的触发器。

1.4. qrtz_fired_triggers:存放已触发的触发器。

1.5. qrtz_job_details:存放一个jobDetail信息。

1.6. qrtz_job_listeners:job监听器。

1.7. qrtz_locks: 存储程序的悲观锁的信息(假如使用了悲观锁)。

1.8. qrtz_paused_trigger_graps:存放暂停掉的触发器。

1.9. qrtz_scheduler_state:调度器状态。

1.10. qrtz_simple_triggers:简单触发器的信息。

1.11. qrtz_trigger_listeners:触发器监听器。

1.12. qrtz_triggers:触发器的基本信息。

二、Quartz的触发时间的配置的三种方式:

2.1. cron 方式:采用cronExpression表达式配置时间。

2.2. simple 方式:和JavaTimer差不多,可以指定一个开始时间和结束时间外加一个循环时间。

2.3. calendars 方式:可以和cron配合使用,用cron表达式指定一个触发时间规律,用calendar指定一个范围。

注意:cron方式需要用到的4张数据表: qrtz_triggers,qrtz_cron_triggers,qrtz_fired_triggers,qrtz_job_details。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 添加依赖 在pom.xml文件中添加以下依赖: ``` <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-quartz</artifactId> </dependency> ``` 2. 配置数据源 Quartz需要一个数据源来存储任务的信息,可以使用Spring Boot提供的jdbc数据源或者其他的数据源。在application.properties中配置数据源: ``` spring.datasource.url=jdbc:mysql://localhost:3306/quartz spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.jdbc.Driver ``` 3. 配置Quartz 在application.properties中配置Quartz的相关属性: ``` # Quartz配置 spring.quartz.job-store-type=jdbc spring.quartz.jdbc.initialize-schema=always spring.quartz.properties.org.quartz.threadPool.threadCount=10 ``` 其中,`spring.quartz.job-store-type`指定Quartz的存储类型,这里使用jdbc存储。`spring.quartz.jdbc.initialize-schema`示是否在应用启动时初始化Quartz的数据库结构。`spring.quartz.properties`用来配置Quartz的属性,这里设置线程池的数量为10。 4. 编写定时任务 创建一个继承Job类的定时任务: ``` public class MyJob implements Job { @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { System.out.println("Hello, Quartz!"); } } ``` 5. 配置定时任务 创建一个配置类,使用@Scheduled注解配置定时任务: ``` @Configuration public class QuartzConfig { /** * 定时任务1 */ @Scheduled(cron = "0/5 * * * * ?") public void job1() throws SchedulerException { JobDetail jobDetail = JobBuilder.newJob(MyJob.class) .withIdentity("job1", "group1") .build(); Trigger trigger = TriggerBuilder.newTrigger() .withIdentity("trigger1", "group1") .withSchedule(CronScheduleBuilder.cronSchedule("0/10 * * * * ?")) .build(); SchedulerFactory schedulerFactory = new StdSchedulerFactory(); Scheduler scheduler = schedulerFactory.getScheduler(); scheduler.start(); scheduler.scheduleJob(jobDetail, trigger); } /** * 定时任务2 */ @Scheduled(cron = "0/10 * * * * ?") public void job2() throws SchedulerException { JobDetail jobDetail = JobBuilder.newJob(MyJob.class) .withIdentity("job2", "group2") .build(); Trigger trigger = TriggerBuilder.newTrigger() .withIdentity("trigger2", "group2") .withSchedule(CronScheduleBuilder.cronSchedule("0/15 * * * * ?")) .build(); SchedulerFactory schedulerFactory = new StdSchedulerFactory(); Scheduler scheduler = schedulerFactory.getScheduler(); scheduler.start(); scheduler.scheduleJob(jobDetail, trigger); } } ``` 使用@Scheduled注解配置定时任务,其中cron属性指定任务执行的时间。在job1和job2方法中,分别创建一个JobDetail和Trigger,并将它们添加到Scheduler中。 6. 启动应用 在Spring Boot应用中启动定时任务,让Quartz自动执行定时任务。 7. 总结 通过以上步骤,我们成功地配置了Quartz,并创建了两个定时任务。Quartz可以非常方便地管理和执行定时任务,为我们的应用带来了很大的便利。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值