SpringBoot utilizando Schedule

4 respostas
java
E

Cria um projeto SpringBoot e criei um Schedule, só que não esta rodando esse schedule, segue abaixo minhas classes :slight_smile:

@SpringBootApplication
@EnableScheduling
public class DemoScheduleApplication {

public static void main(String[] args) {
	SpringApplication.run(DemoScheduleApplication.class, args);
}

}

Meu Schedule:

@Component
public class ScheduledComCron {

@Scheduled(cron = "0 0/1 * * * *")
   public void executar() {
       System.out.println("Executou o Scheduled com cron");
   }

}

Não imprime o System… no console.
Obrigado

Evandro

4 Respostas

L

Mude o cron para: 0/1 * * * *, e teste de novo. Isso deverá executar a cada minuto.

Do jeito que vc fez, é para executar em cada hora (e acredito que vc colocou um * a mais).

E
<a class="mention" href="/u/Lucas_Camara">@Lucas_Camara</a>, coloquei da seguinte forma, porém não funcionou:

@Scheduled(cron = “0/1 * * * *”)

public void executar() {

System.out.println(“Executou o Scheduled com cron”);

}
A

A princípio o Cron pode parecer algo muito bizarro, porém, cada campo possui um significado bem especificado. Abaixo é listado o que cada campo significa junto com seus valores esperados:

A B C D E F

  • A : Segundos (0 – 59).
  • B : Minutos (0 – 59).
  • C : Horas (0 – 23).
  • D : Dia (1 – 31).
  • E : Mês (1 – 12).
  • F : Dia da semana (0 – 6).

Retirado de: https://blog.alura.com.br/agendando-tarefas-com-scheduled-do-spring/

Coloque mais um * ao final da sua expressão e por enquanto para ver funcionando teste a expressão do link

A cada segundo: “*/1 * * * * *”

Posta aí se deu certo :wink:

L

Posso está enganado, mas acho que o último * é opcional.

EDIT
Falha minha, opcional é o ano (que seria mais um * na expressão)

Criado 17 de junho de 2019
Ultima resposta 18 de jun. de 2019
Respostas 4
Participantes 3