Metode Penggunaan Penggunaan Timer Penggunaan Tambahkan @scheduled Annotation untuk merancang parameter cron
package com.clsystem.Comm;import org.springframework.scheduling.annotation.Scheduled;/** * Created by pudding on 2017-11-10.(Check-in record timing task) */@Componentpublic class ClockTiming { /** * Timer*/ @Scheduled(cron="0 0 0 * * ?")// Start public void insertClock(){ // Logika Bisnis}}Implementasi timer dinamis juga sangat sederhana untuk mewarisi metode implementasi kelas penjadwalan.
Paket com.clsystem.comm; impor com.clsystem.util.dateutil; impor org.springframework.beans.factory.annotation.Autowired; impor org.springframework.scheduling.trigger; impor org.springframework.scheduling.triggerc; org.springframework. java.util.calendar; impor java.util.date;/*** dibuat dengan puding pada 2017-11-15. (Timer Dynamic digunakan untuk mendorong pesan 10 menit sebelum check-in) (! Jam alarm) */ @ComponentPublic Class DynamicsCheduledTask mengimplementasikan JadwalConfigurer {@Autowired Private CheckSystemMapper CheckSystemMapper; @Override public void configureTasks (scheduledTaskRegistrar TaskRegistrar) {TaskRegistrar.AdDtrigGerKask (runnable baru () {@Override public void run () {// Business Logic System.out.utext.pigersln ("Reminder Check-in");}}, trigger baru () {"Reminder Check-in");}}, baru triggerx. {// Setel hari integer timer berikutnya = dateutil.getday (); // Dapatkan hari kerja hari ini+= 1; // Dapatkan hari kerja besok jika (hari == 8) {// Kecualikan hari Minggu = 1; BeforemornTimehour = integer.parseint (mornime.substring (0, j)); // Dapatkan pagi hari kerja integer beForemornTimeMinute = integer.parseint (mornime.substring (j+1, mornime.length ());/mendapatkan tanggal kerja pagi = tanggal baru (); Date.setMinutes (BeftemornTimeminute); Minute = Cal.get (Calendar.Minute); // Stack String Cron = "0"+Minute+""+Hour+" *"+Day+""; Trigger.NextExecutionTime (TriggerContext); }}Penggunaan dasar parameter cron:
● Asterisk (): dapat digunakan di semua bidang untuk mewakili setiap momen dalam domain waktu yang sesuai, misalnya, di bidang menit, itu berarti "per menit";
● Tanda tanya (?): Karakter ini hanya digunakan dalam bidang tanggal dan minggu, dan biasanya ditentukan sebagai "nilai tidak berarti", setara dengan karakter titik;
● Minus tanda (-): Ekspresikan rentang. Jika "10-12" digunakan di bidang jam, itu berarti dari 10 hingga 12 poin, yaitu, 10, 11, 12;
● Comma (,): Ekspresikan nilai daftar. Jika Anda menggunakan "Mon, Wed, Fri" di bidang minggu, itu berarti Senin, Rabu dan Jumat;
● Slash (/): x/y mewakili urutan langkah yang sama, x adalah nilai awal dan y adalah nilai langkah tambahan. Jika Anda menggunakan 0/15 di bidang menit, itu dinyatakan sebagai 0, 15, 30 dan 45 detik, sedangkan 5/15 berarti 5, 20, 35, 50 di bidang menit, Anda juga dapat menggunakan */y, yang setara dengan 0/y;
● L: Karakter ini hanya digunakan di bidang tanggal dan minggu, mewakili makna "terakhir", tetapi itu berarti berbeda di dua bidang. L Di bidang tanggal menunjukkan hari terakhir bulan itu, seperti 31 Januari, dan 28 Februari, yang bukan tahun lompatan; Jika L digunakan dalam minggu ini, ini menunjukkan hari Sabtu, yang setara dengan 7. Namun, jika L muncul di bidang minggu dan didahului oleh nilai x, itu berarti "hari x terakhir dalam sebulan", misalnya, 6L berarti Jumat terakhir bulan itu;
● W: Karakter ini hanya dapat muncul di bidang tanggal, dan merupakan modifikasi dari tanggal utama, menunjukkan hari kerja yang paling dekat dengan tanggal tersebut. Misalnya, 15W mewakili hari kerja terdekat dengan tanggal 15 bulan ini. Jika tanggal 15 bulan ini adalah hari Sabtu, itu cocok dengan Jumat tanggal 14; Jika tanggal 15 bulan ini adalah hari Minggu, itu cocok dengan Senin tanggal 16; Jika tanggal 15 bulan ini adalah Selasa, Selasa tanggal 15. Namun, harus dicatat bahwa tanggal pencocokan yang terkait tidak dapat dilintasi ke bulan. Jika Anda menentukan 1W, jika hari pertama adalah hari Sabtu, hasilnya cocok dengan Senin 3, bukan hari terakhir bulan lalu. String W hanya dapat menentukan satu tanggal, tetapi tidak dapat menentukan kisaran tanggal;
● Kombinasi LW: LW dapat digunakan di bidang tanggal, yang berarti hari kerja terakhir dalam sebulan;
● Tanda Kunci (#): Karakter ini hanya dapat digunakan di bidang minggu dan mewakili hari kerja bulan itu. Sebagai contoh, 6#3 mewakili Jumat ketiga bulan ini (6 mewakili Jumat,#3 mewakili yang ketiga saat ini), sementara 4#5 mewakili hari Rabu kelima bulan itu, dengan asumsi bahwa bulan itu tidak memiliki hari Rabu kelima, diabaikan dan tidak dipicu;
● C: Karakter ini hanya digunakan di bidang tanggal dan minggu, mewakili arti "kalender". Ini berarti tanggal yang terkait dengan rencana, dan jika tanggal tidak terkait, itu setara dengan semua tanggal dalam kalender. Misalnya, 5C di bidang tanggal setara dengan hari pertama setelah hari ke -5 kalender. 1C setara dengan hari pertama setelah Minggu di bidang minggu.
Ekspresi cron tidak peka terhadap kasus karakter khusus dan tidak peka terhadap singkatan dari kasus bahasa Inggris minggu ini.
Tabel 2 menunjukkan beberapa contoh representasi cron lengkap di bawah ini:
Ekspresi cron berarti "0 0 12 * *?" Pemicu "0 15 10? * *" Pemicu "0 15 10 * *?" Pemicu "0 15 10 * *?" Pemicu "0 15 10 * *? *" Pemicu "0 15 10 * *? *" Pemicu "0 15 10 * *? 2005" Pemicu "0 * 14 * *?" Pemicu "0 0/5 14 * *?" Pemicu "0 0/5 14 * *?" Pemicu "0 0/5 14,18 * *?" Pemicu "0 0/5 14,18 *?" Pemicu "0 0/5 14,18 *?" 0 0-5 14 * *? ” Setiap 5 menit dari jam 2:00 hingga 14:05 setiap hari memicu "0 10,44 14? 3 Wed "Setiap hari Rabu di bulan Maret memicu" 0 15 10? * Mon-Jri "Setiap Senin, Selasa, Rabu, Kamis, dan Jumat.
Meringkaskan
Di atas adalah penggunaan timer dinamis springboot yang diperkenalkan kepada Anda oleh editor. Saya harap ini akan membantu Anda. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas Anda tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!