Artikel ini menjelaskan metode Java untuk mengimplementasikan tugas waktu berdasarkan mekanisme pengumpulan dan refleksi utas. Bagikan untuk referensi Anda, sebagai berikut:
Ini terutama mencakup kelas implementasi berikut:
1. Kelas Utama:
Eksekusi entri ke tugas:
Hubungi metode utama untuk mulai memuat konfigurasi tugas dan menjalankan tugas
paket com.yanek.task; @ param args * / public static void main (string [] args) {scheduledExecutorService scheduexec = executors.newscheduledThreadpool (1); ; i ++) {TaskModel TM = (TaskModel) Tasks.get (i);2. Kelas MyTask mengimplementasikan antarmuka yang dapat dijalankan dan memanggilnya di kelas utama
paket com.yanek.task; MyTask (TaskModel TM) {this.taskmodel = tm; (TaskModel .getClassName ()); E.PrintStackTrace (); e) {e .printstacktrace ();}}}3. TaskModel: Enkapsulasi kelas tugas
Paket Com.yanek.Task; (String Methone) {this.methodname = MethodName; setPeriod (periode panjang) {this.period =} private string className;4. Kelas Resolusi Konfigurasi Tugas Xmlreader
paket com.yanek.task; .Dokumen Impor org.jdom.element; Daftar getTasks () {Daftar Tugas = ArrayList baru (); File (path); ; .getChildText ("class")); .out .println (childs.get (i) .getChildText ("Metode")); ); "); tmodel.setperioD (integer.valueof (childs.get (i) .getChildText (" periode "))); System.out.println (childs.get (i) .getChildText (" periode ");))) ; ); AD TUGAS KONFIR! "); Return Tasks;}}5. File Konfigurasi:
<? Xml Version = "1.0" encoding = "UTF-8"?> <KeckConfig> <Keck> <melas Class> com.yanek.task. /InitialDelay> <Finion> 2 </perial> </ceck> <ceck> <belas Class> com.yanek.task.taskb </class> <nethod> testb </tethod> <initiondelay> 5 </initialdelay> <periode > 3 </initial> </ceck> <ceck> <class> com.yanek.tak > </keck> </ceckconfig>
6. Kelas Tugas Tes:
Taska TaskB Taskc mendefinisikan metode statis, dan metode statis dari kelas -kelas ini dikonfigurasi dalam file XML dan dipanggil.
Paket com.yanek.task; () {System.out.println ("Taska Test Metode Call!"); ) {System.out.println ("Tes B Tes"); Taskc { / ** * @param args * / public static void main (String [] args) {System.out.println ("Tes Tes C"); Taskc Testc Metode Call! ");}}Saya harap artikel ini akan membantu pemrograman Java semua orang.