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