[英]How to use Spring batch , Quartz, scheduler
我試圖弄清楚如何將 Spring Batch + Quartz 或 Scheduler 實現到以下業務邏輯。
環境:我有一個預訂數據庫表,單個客戶端可以創建多個預訂(客戶端表(一個):預訂表(許多)關系)
業務邏輯:在特定的預訂 state 中,假設客戶端在(已由管理員更新時間更新的預訂 state)+ 1 小時收到 email 的通知
我可以參考一個簡單的例子嗎?
我嘗試使用 Quartz 庫,但不太理解其用例的概念,也無法實現我計划開發的內容
Spring Batch 不支持計划作業執行。 定義 Spring 批處理作業后,您可以使用要在需要時安排其執行的庫。
如果你打算使用Spring Framework提供的調度能力,你可以創建一個調度方法如下:
import org.springframework.batch.core.Job;
import org.springframework.batch.core.JobParameters;
import org.springframework.batch.core.JobParametersBuilder;
import org.springframework.batch.core.launch.JobLauncher;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
public class JobScheduler {
private final Job job;
private final JobLauncher jobLauncher;
@Autowired
public JobScheduler(Job job, JobLauncher jobLauncher) {
this.job = job;
this.jobLauncher = jobLauncher;
}
@Scheduled(cron = "*/10 * * * * *")
public void launchJob() throws Exception {
JobParameters jobParameters = new JobParametersBuilder().addLong("time", System.currentTimeMillis())
.toJobParameters();
this.jobLauncher.run(this.job, jobParameters);
}
}
對於quartz,可以參考快速入門指南: http://www.quartz-scheduler.org/documentation/quartz-2.3.0/quick-start.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.