有人可以帮助理解如何从弹簧控制器提供块大小1或10作为变量。 这是否适用于步长范围?或者必须写在@beforeStep?
@Bean
public Step step1() {
return stepBuilderFactory.get("step1")
.<Person, Person> chunk(**10**)
.reader(reader(null))
.processor(processor())
.writer(writer())
.build();
}
答案 0 :(得分:0)
您尝试这样做的方式无效。为了将值作为作业参数传入,它所设置的对象需要是步骤范围的,并且步骤本身不能是步骤范围。您可以做的是创建一个步骤范围CompletionPolicy
,使用它来确定块是否完整。简而言之,将Spring Batch CountingCompletionPolicy
配置为步骤范围的bean并使用它配置步骤应允许您通过作业参数设置最大计数。
您可以在此处详细了解CompletionPolicy
及其相关实施:http://docs.spring.io/spring-batch/apidocs/org/springframework/batch/repeat/CompletionPolicy.html