@Scheduled Cron Expression

Postado em por Wolmir Cezer Garbin em Spring Boot | 108 Visualizações
Última atualização em:

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

Todo mundo tem algo para vender, AnuncieOn.com o melhor site de anúncios grátis de todo o Brasil. ABRIR

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.


Wolmir Cezer Garbin

Wolmir Cezer Garbin


Sou formado em Desenvolvimento de Sistemas para Internet pela faculdade Mater Dei e Pós graduado em Desenvolvimento de sistemas em Java pela UTFPR. Trabalho a mais de 9 anos com desenvolvimento em Java, Android e Web utilizando as principais tecnologias do mercado. Atuo como professor na faculdade Mater Dei, programador na Garbo Software e criador do Receitas de Código.

Ver mais

FIQUE POR DENTRO

Receba as novidades todo mês em seu e-mail!

Apoiadores


Publique seu post no Receitas de Código

Agora você pode publicar seu post no Receitas de Código e compartilhar seu conhecimento com muitas pessoas!

Quero publicar