Heim  >  Artikel  >  Java  >  So verwenden Sie Quarz zum Implementieren geplanter Aufgaben in Java

So verwenden Sie Quarz zum Implementieren geplanter Aufgaben in Java

WBOY
WBOYnach vorne
2023-04-19 23:49:051760Durchsuche

Konfigurationsdatei

sue.spring.quartz.cron=*/5 * * * * ?

pom

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-quartz</artifactId>
</dependency>

Geplante Aufgaben und Trigger

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;
    }
}

Geschäftscode für geplante Aufgaben

Der QuartzTestJob hier lautet wie folgt, und die MethodeexecuteInternal enthält die Aufgaben, die regelmäßig ausgeführt werden müssen.

public class QuartzTestJob extends QuartzJobBean {
    @Override
    protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
        System.out.println("现在是"+ new Date());
    }
}

Wenn das Projekt gestartet wird, erfolgt die Ausgabe entsprechend der eingestellten Häufigkeit wie folgt:

So verwenden Sie Quarz zum Implementieren geplanter Aufgaben in Java

Natürlich können Sie auch eine geplante Aufgabe starten, um die Rückgabeergebnisse der drei Parteien abzufragen Im Rahmen des Risikokontrollsystems für das Autokreditgeschäft forderten Sie das Sammeln der Daten von drei Parteien, das aktive Anfordern und anschließende Abfragen der Ergebnisse anhand geplanter Aufgaben.

Es scheint, dass die Implementierung mit der Nachrichtenwarteschlange auch diese Geschäftsanforderung erfüllen kann und dann eine verzögerte Nachricht in die Nachrichtenwarteschlange stellen kann ist nicht gut. Stellen Sie einfach eine verzögerte Nachricht in die Nachrichtenwarteschlange. Der Vorteil gegenüber geplanten Aufgaben besteht darin, dass CPU-Leerlauf vermieden und die Leistung verbessert wird.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Quarz zum Implementieren geplanter Aufgaben in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen