在spring批处理中,在作业执行之前在作业执行侦听器中设置作业参数

时间:2017-05-17 09:34:56

标签: java spring spring-batch

我是新的春季批次。      我正在使用CommandLineRunner运行Job。我在.properties文件中有一些属性。     例如:

 my.path=mydir_{event1}_{event2}

所以event1和event2这个字符串需要替换为运行时作业参数。当我使用commandLine runner运行Job时, 我将JobExecutionListener添加到Job并尝试在beforeJob中编写代码 但是我无法从beforeJob函数中设置参数 任何人都可以帮我解决这个问题。 我想要这样的东西。

@Override
    public void beforeJob(JobExecution jobExecution) {
    String event1= jobExecution.getJobParameters().getString("event1");
   String filepath=replace("{event1}", event1);

  jobExecution.getExecutionContext().put("filepath",filepath);
}

.jobExecution.getExecutionContext()这不起作用。有没有其他方法可以做这件事。 它不起作用 - > 将值放入executioncontext之后。我使用spring-job-context.xml里面的密钥  #{jobExecutionContext['filepath']} 所以通过这种方式,我无法获得我在beforeJob函数中设置的值。

0 个答案:

没有答案