Анотации за пролетно планиране

Тази статия е част от поредица: • Spring Core Annotations

• Пролетни уеб анотации

• Анотации на пролетното зареждане

• Анотации за пролетно планиране (текуща статия) • Анотации за пролетни данни

• Анотации на пролетен боб

1. Общ преглед

Когато изпълнението с една нишка не е достатъчно, можем да използваме анотации от пакета org.springframework.scheduling.annotation .

В този бърз урок ще разгледаме анотациите за пролетното планиране.

2. @EnableAsync

С тази анотация можем да активираме асинхронна функционалност през пролетта.

Трябва да го използваме с @Configuration :

@Configuration @EnableAsync class VehicleFactoryConfig {}

Сега, след като активирахме асинхронни повиквания, можем да използваме @Async, за да определим методите, които го поддържат.

3. @EnableScheduling

С тази анотация можем да активираме планиране в приложението.

Също така трябва да го използваме заедно с @Configuration :

@Configuration @EnableScheduling class VehicleFactoryConfig {}

В резултат на това вече можем периодично да изпълняваме методи с @Scheduled .

4. @Async

Можем да дефинираме методи, които искаме да изпълним на различна нишка , следователно да ги изпълняваме асинхронно.

За да постигнем това, можем да анотираме метода с @Async :

@Async void repairCar() { // ... }

Ако приложим тази анотация към клас, тогава всички методи ще бъдат извикани асинхронно.

Имайте предвид, че трябва да активираме асинхронните повиквания, за да работи тази анотация, с @EnableAsync или XML конфигурация.

Повече информация за @Async можете да намерите в тази статия.

5. @ Насрочено

Ако се нуждаем от метод за периодично изпълнение , можем да използваме тази анотация:

@Scheduled(fixedRate = 10000) void checkVehicle() { // ... }

Можем да го използваме за изпълнение на метод на фиксирани интервали или да го прецизираме с cron-подобни изрази .

@Scheduled използва функцията за повтарящи се анотации на Java 8, което означава, че можем да маркираме метод с нея няколко пъти:

@Scheduled(fixedRate = 10000) @Scheduled(cron = "0 * * * * MON-FRI") void checkVehicle() { // ... }

Имайте предвид, че методът, коментиран с @Scheduled, трябва да има тип void return.

Освен това трябва да разрешим планирането, за да може тази анотация да работи, например с @EnableScheduling или XML конфигурация.

За повече информация относно планирането прочетете тази статия.

6. @ Графици

Можем да използваме тази анотация, за да зададем множество @Scheduled правила:

@Schedules({ @Scheduled(fixedRate = 10000), @Scheduled(cron = "0 * * * * MON-FRI") }) void checkVehicle() { // ... }

Имайте предвид, че от Java 8 можем да постигнем същото с функцията за повтарящи се анотации, както е описано по-горе.

7. Заключение

В тази статия видяхме преглед на най-често срещаните анотации за планиране на пролетта.

Както обикновено, примерите са достъпни в GitHub.

Напред » Пролетни анотации на данните « Предишни анотации на пролетното зареждане