Agendamento de tempo do temporizador SpringBoot

Como usar

O próprio SpringBoot nos forneceu um temporizador embutido Scheduled, que podemos usar diretamente.

@Configuration
@EnableScheduling
public class SchedulingConfig {

    @Scheduled(cron = "0 0/1 * * * ?")
    public void test(){
        System.out.println("定时调度。。。。。。。。。。。。");
    }
}

Anotação @agendada

Atributo cron - String

Segundos (segundos) : quatro caracteres ", - * /" podem aparecer e o intervalo válido é um número inteiro de 0 a 59
Minutos (minutos) : quatro caracteres ", - * /" podem aparecer e o intervalo válido é um número inteiro de 0-59
Horas (hora) : pode aparecer ", - * /" quatro caracteres, o intervalo válido é um número inteiro de 0-23
DayofMonth (dia/mês) : pode aparecer ", - * / ? LW C" oito caracteres , o intervalo válido é um número inteiro de 0 a 31
meses (mês) : quatro caracteres ", - * /" podem aparecer e o intervalo válido é um número inteiro de 1 a 12 ou JAN-DEc
DayofWeek (dia da semana) : " , - * / ? LC # pode aparecer "Quatro caracteres, um número inteiro com um intervalo válido de 1-7 ou dois intervalos de SUN-SAT. 1 significa domingo, 2 significa segunda-feira e assim por diante
Ano (ano) : quatro caracteres ", - * /" podem aparecer e o intervalo válido é 1970-2099
Recomende um site gerado automaticamente pela expressão cron  clique para obter

atributo fixedRate - Longo

Indica quanto tempo para executar uma vez, a unidade é ms (milissegundos) e, em seguida, executar

propriedade fixedDelay - Longa

Indica quanto tempo deve ser executado uma vez e a unidade é ms (milissegundos). A diferença entre executar fixedRate e fixedDelay primeiro é que o timer fixedRate é executado primeiro e depois o bloco de código, enquanto fixedDelay executa o bloco de código primeiro e depois executa o cronômetro. O código a seguir é usado para demonstrar

@Configuration
@EnableScheduling
public class SchedulingConfig {

    @Scheduled(fixedRate = 10000)
    public void test1() throws InterruptedException {
        Thread.sleep(5000);
        System.out.println("定时任务1================");
    }

    @Scheduled(fixedRate = 10000)
    public void test2() throws InterruptedException {
        Thread.sleep(5000);
        System.out.println("定时任务2================");
    }
}

Inicie o aplicativo, a saída é

定时任务2================
定时任务1================
定时任务2================
定时任务1================

atributo initialDelay - Longo

Este atributo indica o tempo de atraso da primeira execução, que só é válido para a primeira execução

Acho que você gosta

Origin blog.csdn.net/qq_21046665/article/details/79684226
Recomendado
Clasificación