@scheduled(cron = 0 0 14 * * )

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

Memahami @scheduled(cron = "0 0 14 * *")

@scheduled(cron = "0 0 14 * *") merupakan anotasi yang digunakan dalam Spring untuk menjadwalkan eksekusi method secara berkala. Anotasi ini menggunakan ekspresi cron untuk menentukan waktu pelaksanaan tugas.

Apa Itu Ekspresi Cron?

Ekspresi cron adalah format teks yang digunakan untuk menentukan jadwal berulang. Ekspresi ini terdiri dari enam field yang dipisahkan oleh spasi, yang mewakili:

  • Menit: 0-59
  • Jam: 0-23
  • Hari dalam Bulan: 1-31
  • Bulan: 1-12 atau nama bulan (Jan-Dec)
  • Hari dalam Minggu: 0-7 (0 atau 7 mewakili Minggu)
  • Tahun (opsional): 1970-2099

Menganalisis Ekspresi 0 0 14 * *

Ekspresi 0 0 14 * * dalam @scheduled(cron = "0 0 14 * *") memiliki arti sebagai berikut:

  • Menit: 0 - Tugas akan dieksekusi pada menit ke-0 setiap jam.
  • Jam: 0 - Tugas akan dieksekusi pada jam ke-0 (tengah malam).
  • Hari dalam Bulan: 14 - Tugas akan dieksekusi pada tanggal 14 setiap bulan.
  • Bulan: * - Tugas akan dieksekusi setiap bulan.
  • Hari dalam Minggu: * - Tugas akan dieksekusi setiap hari dalam minggu.

Kesimpulan

Dengan anotasi @scheduled(cron = "0 0 14 * *"), method yang di anotasi akan dieksekusi setiap tanggal 14 setiap bulan pada pukul 00:00 (tengah malam).

Contoh Kode

Berikut adalah contoh sederhana penggunaan @scheduled(cron = "0 0 14 * *") dalam Spring:

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

@Component
public class ScheduledTask {

    @Scheduled(cron = "0 0 14 * *")
    public void executeTask() {
        System.out.println("Task executed on 14th of every month at midnight!");
    }
}

Dalam contoh di atas, method executeTask() akan dijalankan setiap tanggal 14 setiap bulan pada pukul 00:00 (tengah malam).