• Anotaciones web de Spring
• Anotaciones de Spring Boot
• Anotaciones de programación de Spring (artículo actual) • Anotaciones de datos de Spring
• Anotaciones de Spring Bean
1. Información general
Cuando la ejecución de un solo subproceso no es suficiente, podemos usar anotaciones del paquete org.springframework.scheduling.annotation .
En este tutorial rápido, exploraremos las anotaciones de programación de Spring.
2. @EnableAsync
Con esta anotación, podemos habilitar la funcionalidad asincrónica en Spring.
Debemos usarlo con @Configuration :
@Configuration @EnableAsync class VehicleFactoryConfig {}
Ahora que habilitamos las llamadas asincrónicas, podemos usar @Async para definir los métodos que lo soportan.
3. @EnableScheduling
Con esta anotación, podemos habilitar la programación en la aplicación.
También tenemos que usarlo junto con @Configuration :
@Configuration @EnableScheduling class VehicleFactoryConfig {}
Como resultado, ahora podemos ejecutar métodos periódicamente con @Scheduled .
4. @Async
Podemos definir los métodos que queremos ejecutar en un hilo diferente , por lo tanto, ejecutarlos de forma asincrónica.
Para lograr esto, podemos anotar el método con @Async :
@Async void repairCar() { // ... }
Si aplicamos esta anotación a una clase, todos los métodos se llamarán de forma asincrónica.
Tenga en cuenta que necesitamos habilitar las llamadas asincrónicas para que esta anotación funcione, con @EnableAsync o configuración XML.
Puede encontrar más información sobre @Async en este artículo.
5. @Programado
Si necesitamos un método para ejecutar periódicamente , podemos usar esta anotación:
@Scheduled(fixedRate = 10000) void checkVehicle() { // ... }
Podemos usarlo para ejecutar un método a intervalos fijos , o podemos ajustarlo con expresiones similares a cron .
@Scheduled aprovecha la función de anotaciones repetidas de Java 8, lo que significa que podemos marcar un método con él varias veces:
@Scheduled(fixedRate = 10000) @Scheduled(cron = "0 * * * * MON-FRI") void checkVehicle() { // ... }
Tenga en cuenta que el método anotado con @Scheduled debe tener un tipo de retorno nulo .
Además, tenemos que habilitar la programación para que esta anotación funcione, por ejemplo, con @EnableScheduling o la configuración XML.
Para obtener más información sobre la programación, lea este artículo.
6. @Horarios
Podemos usar esta anotación para especificar múltiples reglas @Scheduled :
@Schedules({ @Scheduled(fixedRate = 10000), @Scheduled(cron = "0 * * * * MON-FRI") }) void checkVehicle() { // ... }
Tenga en cuenta que desde Java 8 podemos lograr lo mismo con la función de anotaciones repetidas descrita anteriormente.
7. Conclusión
En este artículo, vimos una descripción general de las anotaciones de programación de Spring más comunes.
Como de costumbre, los ejemplos están disponibles en GitHub.
Siguiente » Anotaciones de Spring Data « Anotaciones de Spring Boot anteriores