Proses Mengkonfigurasi Kuarsa di Musim Semi:
1. Paket Jar Impor
Paket JAR yang dibutuhkan oleh Kuarsa sudah termasuk dalam musim semi, yang terletak di kuarsa-semua-1.6.1.jar di bawah /lib /kuarsa di direktori setelah dekompresi musim semi.
Cukup salin ke web-inf/lib proyek.
2. Konfigurasikan web.xml untuk memuat file konfigurasi kuarsa saat pegas dimulai
<? Xml Version = "1.0" encoding = "UTF-8"?> <Web-app Versi = "2.5" xmlns = "http://java.sun.com/xml/ns/javaee" xmlns: xsi = "http:/www.w3.org/2001 =" http:/www.w3.org/200 XSI: schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/wear-papp_2 <param-name>contextConfigLocation</param-name> <param-value>classpath:application-*.xml</param-value> </context-param> <!-- spring listening--> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> </web-app>
3. Tulis file konfigurasi kuarsa: Application-quartz.xml sebenarnya, konfigurasi ini dapat ditulis dalam file konfigurasi pegas lainnya.
<? XML Versi = "1.0" encoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w3.org/2001/xmls xmlns: aop = "http://www.springframework.org/schema/aop" xmlns: tx = "http://www.springframework.org/schema/tx" xsi: schemalocation = "http:/schema.tx" http://www.springframework.org/schema/beans/spring-weans-2.5.xsd http://www.springframework.org/schema/aop http://www.spramework.org/schema http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http:/www.spramework.org/schema/tx id="testTaskBean" /> <!-- Timed Update Policy Task Method--> <bean id="testTaskTimerMethod" > <property name="targetObject" ref="testTaskBean" /> <!-- targetMethod Method name for configuring timing execution --> <property name="targetMethod" value="executeAction" /> <property name="concurrent" value="false" /> </bean> <!-Pemicu Kebijakan Pembaruan Bertima-> <bean id = "testTaskTrigger"> <name properti = "jobdetail" ref = "syncpolicytasktimerMethod" /> <!-mengeksekusi setiap 3 menit ke-0 kedua-> <nama properti = "cronexpression" value = "0 0/3 * * *?" /> </bean> <!-Daftar Tugas Kustom-> <bean id = "scheduler"> <name properti = "triggers"> <cist> <ref bean = "testTaskTrigger"/> </list> </propert> </ bean> </bean>
4. Tulis testTask kelas java yang mengeksekusi tugas
paket com.jp.task; impor org.quartz.jobexecutionContext; impor org.quartz.jobexecutionException; impor org.springframework.scheduling.quartz.quartzjobbean; TestTask kelas publik meluas quartzjobbean {logger log = logger.getLogger (policyservicetest.class); public void executeAction () {log.info ("Hello Quartz"); } @Override Protected Void ExecuteInternal (JobExecutionContext arg0) Melemparkan JobExecutionException {}} 5. Semua pekerjaan sudah siap dan dijalankan. Pada dasarnya, itu dilaporkan kesalahan. Ini tentang kesalahan nosuchmethod.
Ini karena versi rendah commons-collection.jar. Perlu commons-collection-3.2.jar atau lebih tinggi.
Pada saat ini, Anda mencari commons-collection-3.2.jar dalam proyek. Apa yang terjadi? Jika Anda mencarinya lagi, Anda akan menemukan bahwa ada Commons-Collection-2.1.1.jar di Hibernate.
Hapus saja Commons-Collection-2.1.1.jar.
PS: Cronexpression-Deskripsi Ekspresi Kron
Pemicu cron menggunakan serangkaian karakter khusus, seperti yang ditunjukkan di bawah ini:
Karakter backslash (/) menunjukkan nilai tambahan. Misalnya, di bidang detik "5/15" berarti mulai dari detik kelima, setiap 15 detik sekali.
Tanda tanya (?) Karakter dan huruf L karakter hanya tersedia dalam tanggal bulan dan tanggal bidang minggu. Tanda pertanyaan menunjukkan bahwa bidang ini tidak berisi nilai -nilai spesifik. Oleh karena itu, jika Anda menentukan tanggal dalam sebulan, Anda dapat memasukkan "?" Pada tanggal dalam seminggu untuk menunjukkan bahwa nilai tanggal dalam seminggu tidak masalah. Karakter huruf L adalah singkatan terakhir. Letakkan di bidang tanggal intramont, yang berarti dijadwalkan untuk dieksekusi pada hari terakhir bulan itu. Di bidang tanggal intraweek, jika "l" ada sendiri, itu sama dengan "7", jika tidak itu merupakan contoh terakhir dari tanggal intraweek di bulan itu. Oleh karena itu, "0L" berarti dijadwalkan dieksekusi pada hari Minggu terakhir bulan itu.
Karakter Surat (W) di bidang tanggal dalam pelaksanaan jadwal bulan ke hari kerja yang paling dekat dengan nilai yang ditentukan. Menempatkan "1W" di bidang tanggal bulan berarti eksekusi dijadwalkan dalam hari kerja pertama bulan itu.
Karakter Pound Sign (#) menentukan contoh hari kerja tertentu untuk bulan tertentu. Menempatkan "Mon#2" di bidang tanggal intraweek berarti menjadwalkan tugas pada hari Senin kedua setiap bulan.
Karakter tanda bintang (*) adalah karakter wildcard yang berarti bahwa bidang dapat menerima nilai yang mungkin.
Karakter Khusus Diizinkan oleh Field Nilai yang Diijinkan:
0-59 detik, - * /
0-59, - * /
Jam 0-23, - * /
Tanggal 1-31, - *? / Lwc
Bulan 1-12 atau Jan-Des,- * /
Minggu 1-7 atau Sun-Sat,- *? / LC #
Tahun (opsional) tinggalkan kosong, 1970-2099, - * / /
Makna ekspresi
"0 0 12 * *?" Dipicu pada jam 12 siang setiap hari
"0 15 10? *" "Dipicu pada pukul 10:15 setiap hari
"0 15 10 * *?" Dipicu pada pukul 10:15 setiap hari
"0 15 10 * *? *" Dipicu setiap hari pada pukul 10:15 pagi
"0 15 10 * *? 2005" dipicu pada pukul 10:15 setiap hari di tahun 2005
"0 * 14 * *?" memicu setiap 1 menit antara 14:00 dan 14:59
"0 0/5 14 * *?" Dipicu setiap 5 menit antara 14:00 dan 14:55 setiap hari
"0 0/5 14,18 * *?" Dipicu setiap 5 menit antara pukul 14:55 dan antara pukul 18:55 dan antara pukul 18:55 dan setiap 5 menit antara
"0 0-5 14 * *?" Dipicu setiap 1 menit antara pukul 14:00 dan 14:05 setiap hari
"0 10,44 14? 3 Wed" memicu setiap hari Rabu pukul 2:10 dan 14:44
"0 15 10? * Mon-Jri" dipicu dari 10:15 Senin hingga Jumat
"0 15 10 15 *?" Dipicu pada pukul 10:15 pagi pada tanggal 15 setiap bulan
"0 15 10 L *?" Dipicu pada pukul 10:15 pagi pada hari terakhir setiap bulan
"0 15 10? * 6l" dipicu pada pukul 10:15 pagi pada hari Jumat terakhir setiap bulan
"0 15 10? * 6L 2002-2005" dipicu pada pukul 10:15 pagi pada hari Jumat terakhir setiap bulan dari 2002 hingga 2005
"0 15 10? * 6#3" memicu setiap hari pukul 10:15 pagi pada hari Jumat ketiga setiap bulan pukul 6 pagi
0 6 * * *
Setiap dua jam
0 */2 * * *
Setiap dua jam antara jam 11 malam dan 8 pagi, 8 pagi
0 23-7/2, 8 * * *
Pada tanggal 4 setiap bulan dan dari Senin hingga Rabu setiap minggu pukul 11 A.M.
0 11 4 * 1-3
1 Januari pukul 4 A.M.
0 4 1 1 *