JobDataMap传递参数_02
生活随笔
收集整理的這篇文章主要介紹了
JobDataMap传递参数_02
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
JobDataMap屬于JobDetail的一部分
可以在構(gòu)建JobDataMap時(shí)傳遞參數(shù)
取出參數(shù)2種形式:
第1種:可以從execute方法的上下文中取出參數(shù)
第2種:在Job類中,定義參數(shù)名稱,完成getset方法
推薦使用第2種+lombok
添加參數(shù)
//創(chuàng)建JobDetailJobDetail jobDetail = JobBuilder.newJob(MyJob.class)//唯一標(biāo)識(shí).withIdentity("jobDetail1", "group1")//添加參數(shù)通過usingJobData方法,傳遞給job.usingJobData("name","yx").build();第1種:可以從execute方法的上下文中取出參數(shù)
package com.gblfy.job;import org.quartz.Job; import org.quartz.JobDataMap; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException;import java.time.LocalTime;public class MyJob implements Job {@Overridepublic void execute(JobExecutionContext context) throws JobExecutionException {LocalTime localTime = LocalTime.now();/*1.從上下文中先獲取getJobDetail2.再從getJobDetail中獲取JobDataMap3.最后,從JobDataMap中,根據(jù)key獲取對應(yīng)屬性的值*/JobDataMap jobDataMap = context.getJobDetail().getJobDataMap();String name = jobDataMap.getString("name");System.out.println("hello " + name + "我正在執(zhí)行" + localTime);} }
第2種:在Job類中,定義參數(shù)名稱,完成getset方法
為了減少代碼,建議引入lombok
剛才的代碼,簡化為
package com.gblfy.job;import lombok.Getter; import lombok.Setter; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import java.time.LocalTime;public class MyJob implements Job {@Getter@Setterprivate String name;@Overridepublic void execute(JobExecutionContext context) throws JobExecutionException {LocalTime localTime = LocalTime.now();System.out.println("hello " + name + "我正在執(zhí)行" + localTime);} }
效果是一樣的
總結(jié)
以上是生活随笔為你收集整理的JobDataMap传递参数_02的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux搭建SonarQube代码质量
- 下一篇: Springboot2.x +JPA 集