Anotasi Penjadwalan Musim Semi

Artikel ini bagian dari serial: • Spring Core Annotations

• Anotasi Web Musim Semi

• Anotasi Spring Boot

• Anotasi Penjadwalan Musim Semi (artikel saat ini) • Anotasi Data Musim Semi

• Anotasi Spring Bean

1. Ikhtisar

Jika eksekusi single-threaded tidak cukup, kita dapat menggunakan anotasi dari paket org.springframework.scheduling.annotation .

Dalam tutorial singkat ini, kita akan menjelajahi Anotasi Penjadwalan Musim Semi.

2. @EnableAsync

Dengan anotasi ini, kami dapat mengaktifkan fungsionalitas asinkron di Spring.

Kita harus menggunakannya dengan @Configuration :

@Configuration @EnableAsync class VehicleFactoryConfig {}

Sekarang, setelah kita mengaktifkan panggilan asinkron, kita dapat menggunakan @Async untuk menentukan metode yang mendukungnya.

3. @EnableScheduling

Dengan anotasi ini, kami dapat mengaktifkan penjadwalan dalam aplikasi.

Kami juga harus menggunakannya bersama dengan @Configuration :

@Configuration @EnableScheduling class VehicleFactoryConfig {}

Akibatnya, sekarang kita dapat menjalankan metode secara berkala dengan @Scheduled .

4. @ Async

Kita dapat mendefinisikan metode yang ingin kita jalankan pada thread yang berbeda , karenanya menjalankannya secara asynchronous.

Untuk mencapai ini, kita dapat menganotasi metode dengan @Async :

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

Jika kita menerapkan anotasi ini ke kelas, maka semua metode akan dipanggil secara asinkron.

Perhatikan, bahwa kita perlu mengaktifkan panggilan asinkron agar anotasi ini berfungsi, dengan konfigurasi @EnableAsync atau XML.

Informasi lebih lanjut tentang @Async dapat ditemukan di artikel ini.

5. @ Terjadwal

Jika kita membutuhkan metode untuk mengeksekusi secara berkala , kita dapat menggunakan anotasi ini:

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

Kita bisa menggunakannya untuk mengeksekusi metode pada interval tetap , atau kita bisa menyempurnakannya dengan ekspresi mirip cron .

@Scheduled memanfaatkan fitur anotasi berulang Java 8, yang berarti kami dapat menandai metode dengannya beberapa kali:

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

Perhatikan, metode yang dianotasi dengan @Scheduled harus memiliki tipe pengembalian kosong .

Selain itu, kami harus mengaktifkan penjadwalan agar anotasi ini berfungsi misalnya dengan konfigurasi @EnableScheduling atau XML.

Untuk informasi lebih lanjut tentang penjadwalan, baca artikel ini.

6. @ Jadwal

Kita bisa menggunakan anotasi ini untuk menentukan beberapa aturan @Scheduled :

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

Perhatikan, karena Java 8 kita dapat mencapai hal yang sama dengan fitur anotasi berulang seperti yang dijelaskan di atas.

7. Kesimpulan

Di artikel ini, kami melihat ikhtisar anotasi penjadwalan Musim Semi yang paling umum.

Seperti biasa, contoh tersedia di GitHub.

Berikutnya » Anotasi Data Musim Semi « Anotasi Spring Boot Sebelumnya