Ada dua jenis utama tugas waktunya yang biasa digunakan di musim semi
1. Spring mengintegrasikan pekerjaan kuarsa
2. Tugas yang datang dengan Spring 3.0 setelahnya
1. Dua cara untuk mengimplementasikan tugas waktu
Pekerjaan kuarsa
1. Pertama tulis kelas tugas
Paket com.yjf.job; import org.slf4j.logger; impor org.slf4j.loggerFactory;/** * @author yjf */kelas publik contohjob {private static final logger = loggerFactory.getLogger (exampleJob.class); public void run () {logger.info ("exampleJob runs"); }}2. Tambahkan Konfigurasi Kuarsa Terpadu Musim Semi
<!-Pekerjaan Kuarsa Terpadu-> <!-Menentukan tugas-> <bean id = "exampleJob"/> <!-Metode untuk menentukan kacang-> <bean id = "exampleJobmethod"> <name properti = "targetObject" <ref = "exampleJob"/> <nama properti = "targetMethod" value = "run"/> —kextjob "/<property name =" targetMethod "value =" value "value" value "value" value "value" value " adalah dua jenis pemicu untuk kuarsa-> <!-SimpletriggerFactoryBean pertama hanya mendukung tugas panggilan pada frekuensi tertentu, seperti setiap 10 detik-> <!-<bean id = "Simpletrigger">-> <!-<nama properti = "jobdetail" Ref = "exampleJobMethod"/-----<! Nama Properti = "Mulai" name="repeatInterval" value="10"/>--> <!--</bean>--> <!-- The second CronTriggerFactoryBean can be executed in a custom way using cronExpression expression--> <bean id="exampleTrigger"> <property name="jobDetail" ref="exampleJobMethod"/> <property name="cronExpression" value="0/10 * * * * ?"/> </bean> <!-Mengkonfigurasi pabrik penjadwalan-> <bean> <name properti = "triggers"> <cist> <ref bean = "exampleTrigger"/> </list> </prop Property> </bean>
Tugas musim semi
1. Tulis kategori tugas
Paket com.yjf.job; impor org.slf4j.logger; impor org.slf4j.loggerFactory; impor org.springframework.scheduling.annotation.scheduled; impor org.springframework.stereotipe.stereTypeNT;/** ** ** @autramework.stereotype.stereotipe.scoent;/** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** SearchUserJob {private Logger Logger = LoggerFactory.getLogger (this.getClass ()); @Scheduled (cron = " */5 * * *?") Public void doit () {logger.info ("I'm Doing"); }}2. Tambahkan file konfigurasi tugas
<!-Mengkonfigurasi dengan anotasi-> <!-Aktifkan tugas waktu tugas-> <Tugas: anotasi-digerakkan/> <!-Pindai lokasi paket tempat pekerjaan berada-> <konteks: komponen-pemindaian paket dasar = "com.yjf.job"//
2. Bandingkan keuntungan dan kerugian dari keduanya
Fitur Pekerjaan Kuarsa
1. Fungsi yang kuat, tetapi konfigurasi yang sedikit rumit
2. Kuarsa membuat objek tugas baru setiap kali dieksekusi
3. Pengecualian dilemparkan selama tugas eksekusi kuarsa, yang tidak mempengaruhi eksekusi tugas berikutnya. Ketika waktu eksekusi berikutnya tiba, timer akan menjalankan tugas lagi.
Fitur Tugas Musim Semi
1. Gunakan anotasi @scheduled dan sejumlah kecil konfigurasi untuk mengimplementasikannya, mudah digunakan
2. Tugas menggunakan objek tugas yang sama setiap kali dieksekusi
3. Setelah pengecualian timertask dilemparkan selama eksekusi, seluruh siklus hidup pengatur waktu berakhir, dan tugas timer tidak akan pernah dieksekusi lagi di masa depan.
Saat ini, saya pribadi menggunakan pekerjaan kuarsa lebih banyak
Artikel di atas "Metode Implementasi Musim Semi untuk mengintegrasikan pekerjaan kuarsa dan tugas musim semi" adalah semua konten yang saya bagikan dengan Anda. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.