quartz 传参

tech2022-12-11  91

文章目录

传入参数获取参数 有时候,我们需要往job的 execute()方法中传递参数,那么如果实现呢?

传入参数

quartz 中用 jobDataMap 去存储附加信息。

jobDataMap类,每个JobDetail都关联了一个JobDataMap实例,JobDataMap是java.util.Map的子类,基本上是提供key- value形式的数据,当你创建JobDetail的时候,可以把附加信息放到JobDataMap中,那么在execute方法中可以根据key找到需 要的值。

有两种方式将数据添加到jobDataMap中:

JobBuilder构建JobDetail过程中添加 通过usingJobData(“key”, “value”)JobBuilder.newJob(jobClass) .withIdentity("jobname", "groupname") .usingJobData("key", "value") //参入参数 .build(); JobDetail追加方式 JobDetail job = new JobDetail… job.getJobDataMap().put(“key”,”value”);

获取参数

public class SwithFileJob implements Job { @Override public void execute(JobExecutionContext context) throws JobExecutionException { FileManager fileManager = (FileManager) context.getJobDetail().getJobDataMap() .get("key"); //key值与put值保持一致
最新回复(0)