我在spring批处理配置文件中定义了一个作业bean:
@Bean
public Job job() {
return jobBuilderFactory.get("job1")
.incrementer(new RunIdIncrementer())
.start(step1())
.build();
}
我想根据启动作业时传递的jobparameters动态命名作业。我在努力实现 jobBuilderFactory.get(jobNameFromJobParams)
. 我知道作业是在配置时定义的,参数是在运行时传递的。我有办法做到吗?
1条答案
按热度按时间osh3o9ms1#
作业参数通常用于在同一作业的不同示例之间变化的属性(通常用于标识作业示例)。在您的例子中,所有作业示例的作业名称都是相同的,因此我认为系统属性比作业参数更适合于此。下面是一个简单的例子:
这张照片:
使用启动作业时,可以动态传递作业名称
-DjobName=dynamicJobName
编辑:添加如何从web控制器启动作业的示例