I want to get job id using spring expression language. I tried #{jobExecutionContext[jobId]}
but it does not work.
Using SpEL alone, there is no way to access the job id. You could use a JobExecutionListener to add it to the executionContext and then it would be available via what you are trying.
A worked example would look like this. Your JobExecutionListener class has access to the JobExecution and it copies the jobId to the executionContext.
public class JobIdToContextExecutionListener implements JobExecutionListener {
public void beforeJob(JobExecution jobExecution) {
long jobId = jobExecution.getJobId();
jobExecution.getExecutionContext().put("jobId",jobId);
}
..
}
In your spring context, you can then reference the jobId via SpEL like
#{stepExecution.jobExecution.jobId}
or
#{jobExecutionContext.jobId}
See Luca's answer on referencing late-binding parameters here.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With