@scheduled(cron = 0 0/5 * * * )

3 min read Aug 30, 2024
@scheduled(cron = 0 0/5 * * * )

Memahami @scheduled(cron = "0 0/5 * * *") dalam Spring

Dalam konteks Spring, anotasi @scheduled digunakan untuk menjadwalkan tugas-tugas secara berkala. Ekspresi cron "0 0/5 * * *" yang Anda berikan mendefinisikan jadwal yang akan menjalankan tugas setiap 5 menit. Mari kita bahas bagian-bagian dari ekspresi cron ini:

Pemahaman Ekspresi Cron

Ekspresi cron adalah string yang berisi enam field yang dipisahkan oleh spasi. Setiap field mewakili satu aspek dari jadwal tugas:

  1. Second (detik): Nilai antara 0 hingga 59.
  2. Minute (menit): Nilai antara 0 hingga 59.
  3. Hour (jam): Nilai antara 0 hingga 23.
  4. Day of Month (hari dalam bulan): Nilai antara 1 hingga 31.
  5. Month (bulan): Nilai antara 1 hingga 12.
  6. Day of Week (hari dalam minggu): Nilai antara 0 hingga 7 (0 dan 7 keduanya mewakili Minggu).

Menjelajahi 0 0/5 * * *

Mari kita uraikan ekspresi cron "0 0/5 * * *" :

  • 0: Menjalankan tugas pada detik ke-0 setiap menit.
  • 0/5: Menjalankan tugas setiap 5 menit, dimulai dari menit ke-0.
  • *: Menjalankan tugas pada setiap jam.
  • *: Menjalankan tugas pada setiap hari dalam bulan.
  • *: Menjalankan tugas pada setiap bulan.

Contoh Implementasi

Berikut adalah contoh sederhana bagaimana menggunakan @scheduled dengan ekspresi cron:

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@Component
public class ScheduledTask {

    @Scheduled(cron = "0 0/5 * * *")
    public void executeTask() {
        System.out.println("Tugas terjadwal dijalankan pada " + new Date());
    }
}

Kode di atas akan mencetak pesan "Tugas terjadwal dijalankan pada ..." ke konsol setiap 5 menit.

Kesimpulan

@scheduled(cron = "0 0/5 * * *") memungkinkan Anda untuk menjadwalkan tugas dalam aplikasi Spring agar dijalankan setiap 5 menit. Memahami ekspresi cron adalah kunci untuk mengonfigurasi jadwal yang tepat untuk kebutuhan Anda.