@Scheduled Cron Expression

Este post mostra como criar um agendamento com Cron Expression no Spring Boot Usando @Scheduled

Wolmir Cezer Garbin por Wolmir Cezer Garbin - - Spring Boot - TUTORIAL

Última atualização em: | 20944 Visualizações

Se ainda não sabe o que é Cron Expression, você pode acessar este tutorial: O básico sobre Cron Expression.

Sabendo o que é Cron e entendendo como fazer um agendamento usando uma Cron Expression, precisamos entender como definir um processo que seja executado continuamente no java com base na expressão. Para este exemplo será utilizado:

0 0/1 * * * *

Note que esta expressão será executada a cada minuto.


No Spring Boot, para realizar um agendamento, temos a anotação @Scheduled, que recebe um cron como parâmetro. Dessa forma podemos criar um processo que seja executado com base na Cron Expression.

Habilitando @Scheduled no Spring Boot

O primeiro passo é habilitar o @Scheduled no Spring Boot. Para isso adicione a anotação @EnableScheduling sobre uma classe de configuração ou sobre a classe principal, como neste exemplo:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;

@SpringBootApplication
@EnableScheduling
public class DemoApplication {

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

Feito isso, agora já é possível utilizar @Scheduled em seu projeto.

Usando @Scheduled com Cron Expression

Vamos ao primeiro exemplo.

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@Component
public class ScheduledComCron {

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

}

Note que todo minuto será impresso no console o texto Executou o Scheduled com cron.

Para criar um agendamento, primeiro criamos uma classe normal e após anotamos com @Component, criamos um método sem retorno void, e anotamos o método com @Scheduled passando o parâmetro cron com a definição que desejamos.

Pronto, agora tem um processo agendado que será executado com base no cron.

Não esqueca de deixar suas dúvidas nos comentários e compartilhar este post.


Publique seu post no Receitas de Código

Aguarde, estamos trabalhando para que você possa publicar sua postagem no Receitas de Código!