Jika anda ingin melakukan tugas berjadual, mempunyai 高可用
keperluan atau hanya ingin menjadi 入门快
mudah untuk bermula, maka anda berhak memilihnya.
Modul tugas berjadual merangkum lagi rangka kerja Kuarza dan menjadikannya lebih mudah untuk digunakan.
<dependency> <groupId>xin.altitude.cms</groupId> <artifactId>ucode-cms-quartz</artifactId> <version>1.5.4.1</version> </dependency>
melaksanakan antara muka org.quartz.Job
untuk menambah strategi penjadualan tugasan CronExp
kepada Tugasan disuntik ke dalam bekas. Component
@Component @DisallowConcurrentExecution @CronExp(cron = "0/5 * * * * ?") public class DemoJob implements Job { @Override public void execute(JobExecutionContext context) { System.out.println("任务1:" + LocalDateTime.now()); } }
. jobId
http://localhost:8080/cms-api/quartz/job/{jobId}
dan 唯一并
diperlukan, jadi ia perlu dinyatakan secara manual semasa menulis jadual berjadual tugasan. 已知
@CronExp(id = 1, cron = "0/5 * * * * ?")
Jika anda tidak menyatakannya secara eksplisit, ID rawak akan digunakan tidak memenuhi syarat yang diketahui, jadi ia tidak boleh dicetuskan secara manual. CronExp
public void execute(JobExecutionContext context) { /* 如果在调用任务时传入了参数,则能够从Map中获取 */ Map<String, Object> dataMap = context.getMergedJobDataMap(); /* 比如从Map中获取一个键值对,一般来说参数均为基本数据类型 */ Object key = dataMap.get("key"); System.out.println("任务2:" + LocalDateTime.now() + ": " + key); }
untuk melengkapkan suntikan parameter. JobExecutionContext
http://localhost:8080/cms-api/quartz/job/1?key=a
merujuk kepada sama ada tugasan baharu akan dilaksanakan apabila masa pelaksanaan tugas melebihi kitaran penjadualan tugas dan tugasan sebelumnya belum dilaksanakan. Quartz
pada kelas tugasan untuk melumpuhkan keselarasan tugas. DisallowConcurrentExecution
spring: quartz: properties: org.quartz.jobStore.isClustered: true org.quartz.jobStore.class: org.quartz.impl.jdbcjobstore.JobStoreTX org.quartz.jobStore.driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate org.quartz.jobStore.dataSource: qzDS org.quartz.dataSource.qzDS.driver: com.mysql.cj.jdbc.Driver org.quartz.dataSource.qzDS.URL: jdbc:mysql://localhost:3306/quartz-demo org.quartz.dataSource.qzDS.user: root org.quartz.dataSource.qzDS.password: 123456
Selepas mengkonfigurasi sambungan pangkalan data, gunakan skrip SQL dan beri perhatian untuk memulakan pangkalan data
Atas ialah kandungan terperinci Bagaimana untuk menggunakan Kuarza untuk melaksanakan tugas berjadual ketersediaan tinggi Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!