@Scheduled Cron Expression
Este post mostra como criar um agendamento com Cron Expression no Spring Boot Usando @Scheduled
Ú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.