Saat menggunakan kemampuan Spring 3.0 untuk membubuhi keterangan tugas terjadwal, saya ingin mengatur fixedDelay
parameter sebagai dari file konfigurasi saya, alih-alih menghubungkannya dengan kabel ke dalam kelas tugas saya, seperti saat ini ...
@Scheduled(fixedDelay = 5000)
public void readLog() {
...
}
Sayangnya tampaknya dengan sarana Spring Expression Language (SpEL) @Value
mengembalikan objek String yang pada gilirannya tidak dapat otomatis kotak ke nilai yang panjang seperti yang dipersyaratkan oleh fixedDelay
parameter.
Spring v3.2.2 telah menambahkan parameter String ke parameter 3 panjang asli untuk menangani ini.
fixedDelayString
,fixedRateString
daninitialDelayString
sekarang tersedia juga.sumber
Anda dapat menggunakan
@Scheduled
anotasi, tetapi bersama dengancron
parameter saja:Interval 5 detik Anda dapat dinyatakan sebagai
"*/5 * * * * *"
. Namun seperti yang saya mengerti Anda tidak dapat memberikan ketelitian kurang dari 1 detik.sumber
Di Spring Boot 2, kita dapat menggunakan Spring Expression Language (SpPL) untuk
@Scheduled
properti anotasi:The
application.properties
File akan terlihat seperti ini:Itu dia. Berikut ini adalah artikel yang menjelaskan penjadwalan tugas secara rinci.
sumber
Saya kira Anda dapat mengonversi nilainya sendiri dengan mendefinisikan kacang. Saya belum mencobanya , tetapi saya kira pendekatan yang mirip dengan yang berikut ini mungkin berguna bagi Anda:
dimana:
sumber
@Scheduled
anotasi itu.