如何从 UI 发送 spring 批量块大小
How to send spring batch chunk size from UI
有人可以帮助理解如何从 spring 控制器将块大小 1 或 10 作为变量提供给步骤。
这是否适用于此处的步骤范围?或者必须写在@beforeStep?
@豆子
public Step step1() {
return stepBuilderFactory.get("step1")
.<Person, Person> chunk(**10**)
.reader(reader(null))
.processor(processor())
.writer(writer())
.build();
}
您尝试的方法行不通。为了将值作为作业参数传入,它所设置的对象需要在步骤范围内,而步骤本身不能在步骤范围内。您可以做的是创建一个范围为 CompletionPolicy
的步骤,使用它来确定块是否完整。简而言之,将 Spring Batch CountingCompletionPolicy
配置为步骤作用域 bean 并使用它配置步骤应该允许您通过作业参数设置最大计数。
您可以在此处阅读有关 CompletionPolicy
及其相关实现的更多信息:http://docs.spring.io/spring-batch/apidocs/org/springframework/batch/repeat/CompletionPolicy.html
有人可以帮助理解如何从 spring 控制器将块大小 1 或 10 作为变量提供给步骤。 这是否适用于此处的步骤范围?或者必须写在@beforeStep?
@豆子
public Step step1() {
return stepBuilderFactory.get("step1")
.<Person, Person> chunk(**10**)
.reader(reader(null))
.processor(processor())
.writer(writer())
.build();
}
您尝试的方法行不通。为了将值作为作业参数传入,它所设置的对象需要在步骤范围内,而步骤本身不能在步骤范围内。您可以做的是创建一个范围为 CompletionPolicy
的步骤,使用它来确定块是否完整。简而言之,将 Spring Batch CountingCompletionPolicy
配置为步骤作用域 bean 并使用它配置步骤应该允许您通过作业参数设置最大计数。
您可以在此处阅读有关 CompletionPolicy
及其相关实现的更多信息:http://docs.spring.io/spring-batch/apidocs/org/springframework/batch/repeat/CompletionPolicy.html