Dalam latar belakang aplikasi alat pengembangan dan pengujian, saya sering mendengar kolega mengatakan bahwa mereka perlu melakukan tugas waktunya untuk melakukan pemrosesan log atau pembersihan data, termasuk melakukan beberapa logika perhitungan bisnis yang kompleks. Saat memilih tugas waktunya, bagaimana mereka dapat dengan cepat mengimplementasikannya dan memilih metode yang lebih cocok untuk Anda? Saya telah mengumpulkan dan mengatur beberapa metode untuk menerapkan tugas yang dijadwalkan di sini. Saya berharap ini dapat membantu siswa yang baru mulai melakukan tugas yang dijadwalkan. Harap perbaiki tulisan yang salah.
Ada tiga cara untuk meringkas tugas waktu Java Dasar:
1.1 Buat utas, dan kemudian biarkan berjalan di loop while, dan mencapai efek dari tugas waktu melalui metode tidur;
1.2 Penggunaan timer dan timertask memiliki manfaat berikut dibandingkan dengan metode pertama:
1.3 Jadwal ExecutorService diperkenalkan sebagai kelas alat bersamaan dari java.util.concurrent. Ini adalah metode implementasi tugas waktu yang ideal. Dibandingkan dengan dua metode sebelumnya, ia memiliki manfaat berikut:
Ada tiga cara untuk meringkas tugas musim semi:
2.1 JadwalTimertask: Spring's StorduledTimertask menentukan siklus berjalan dari tugas pengatur waktu. Sayangnya, Anda dapat menentukan frekuensi eksekusi tugas, tetapi Anda tidak dapat menentukan dengan tepat kapan itu berjalan, yang membutuhkan penggunaan kuarsa kedua untuk penjadwalan tugas;
Buat tugas bisnis, dideklarasikan dalam file konfigurasi pegas;
Dalam file konfigurasi Spring, konfigurasikan StorduledTimertask dan hubungkan instance Tugas Kustom;
Mulailah Timer, TimerFactoryBean Spring bertanggung jawab untuk memulai tugas waktu
2.2 Menggunakan Kuarsa:
Pertama -tama, tentukan tugas logika bisnis seperti biasa:
Deklarasikan dan Konfigurasikan Metode Pemicu Penjadwalan Pekerjaan di Musim Semi
Di sini, ada dua jenis pemicu pekerjaan untuk kuarsa, yaitu
org.springframework.scheduling.quartz.simpletriggerBean
org.springframework.scheduling.quartz.crontriggerbean
SimpletriggerBean pertama hanya mendukung tugas panggilan pada frekuensi tertentu, seperti berjalan sesekali.
<bean id = "Simpletrigger"> <name properti = "jobdetail" ref = "myjob" /> <name properti = "startdelay" value = "0" /> <!-Setelah pabrik pengiriman dipakai, pengiriman dimulai setelah 0 detik-> <nama properti = "ulangi nilai" value = "2000" /> <!
Tipe kedua dari crontriggeBean mendukung berjalan sekali pada waktu yang ditentukan, seperti berjalan sekali pada pukul 12:00 setiap hari, seperti yang dikonfigurasi di atas;
Konfigurasikan pabrik pengiriman
org.springframework.scheduling.quartz.schedulerFactorybean, kodenya seperti di atas;
Luncurkan saja aplikasi Anda
2.3 Menggunakan Spring-Task
Alat tugas waktu Spring sendiri, Tugas Musim Semi, dapat membandingkannya dengan kuarsa yang ringan, dan sangat mudah digunakan. Itu tidak memerlukan paket tambahan kecuali untuk paket terkait pegas, dan mendukung dua jenis anotasi dan file konfigurasi:
Langkah 1: Tulis kelas tugas; TaskJob, Metode Job1 - Langkah kedua dari penghilangan kode: Tambahkan namespace dan deskripsi di header file konfigurasi pegas
<beans xmlns = "http://www.springframework.org/schema/beans" xmlns: Task = "http://www.springframework.org/schema/task" xsi: schemalocation = "http:/schema" XSI: schemalocation = "http:/schema" http://www.springframework.org/schema/task/spring-task-3.0.xsd ">
Langkah 3: Tetapkan tugas tertentu dalam file konfigurasi pegas
<Tugas: Tugas Terjadwal> <Tugas: Terjadwal Ref = "TaskJob" Metode = "Job1" Cron = "0 * * * *?"/> </Tugas: Tugas Terjadwal> <Konteks: Komponen-Pemindaian Paket Dasar = "com.alibaba.mytask"//
Deskripsi: Parameter REF menentukan kelas tugas, metode ini menentukan metode yang perlu dijalankan, ekspresi cron dan cronexpression, metode penulisan spesifik tidak akan diperkenalkan di sini, dan <konteks: komponen-pemindaian-package = "com.alibaba.mytask" /> Annotasi pemindaian musim semi digunakan.
Di atas adalah semua tentang artikel ini, saya harap ini akan membantu untuk pembelajaran semua orang.