sue.spring.quartz.cron=*/5 * * * * ?
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-quartz</artifactId> </dependency>
package com.luke.demo.schedule; import org.quartz.*; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class QuartzConfig { @Value("${sue.spring.quartz.cron}") private String testCron; /** * 创建定时任务 */ @Bean public JobDetail quartzTestDetail() { JobDetail jobDetail = JobBuilder.newJob(QuartzTestJob.class) //添加认证信息 .withIdentity("quartzTestDetail", "QUARTZ_TEST") .build(); return jobDetail; } /** * 创建触发器 */ @Bean public Trigger quartzTestJobTrigger() { //执行频率 CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule(testCron); //创建触发器 Trigger trigger = TriggerBuilder.newTrigger() .forJob(quartzTestDetail()) //添加认证信息 .withIdentity("quartzTestJobTrigger", "QUARTZ_TEST_JOB_TRIGGER") //添加执行规则 .withSchedule(cronScheduleBuilder) .build(); return trigger; } }
Di sini QuartzTestJob adalah seperti berikut Kaedah executeInternal mengandungi tugasan yang perlu dilaksanakan dengan kerap.
public class QuartzTestJob extends QuartzJobBean { @Override protected void executeInternal(JobExecutionContext context) throws JobExecutionException { System.out.println("现在是"+ new Date()); } }
Apabila projek dimulakan, output akan menjadi seperti berikut mengikut kekerapan yang ditetapkan:
Sudah tentu, anda juga boleh memulakan tugas berjadual untuk menanyakan pulangan ketiga-tiga pihak Akibatnya, semasa saya mengusahakan sistem kawalan risiko untuk perniagaan pinjaman kereta, saya meminta data daripada tiga pihak, memintanya secara aktif, dan kemudian meninjau keputusan dengan tugas yang dijadualkan.
Kini nampaknya pelaksanaan menggunakan baris gilir mesej juga sangat pantas Mesej tertunda hanya boleh memenuhi keperluan perniagaan ini dan kemudian meletakkan mesej tertunda ke dalam baris gilir mesej Hasilnya. Jika ia tidak berfungsi, letakkan satu lagi mesej tertunda dalam baris gilir mesej. Kelebihan ini berbanding dengan tugas yang dijadualkan ialah ia mengelakkan melahu CPU dan meningkatkan prestasi.
Atas ialah kandungan terperinci Cara menggunakan kuarza untuk melaksanakan tugas berjadual di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!