Spring批处理-如何根据条件检查添加Flow



基于属性文件中设置的一些属性if(prop1=false(然后如何在FlowBuilder中删除流处理Flow1

Flow processingFlow1 = new FlowBuilder<Flow>("ProcessingFlow1").start(ProcessingFlow1Step).build();
Flow processingFlow2 = new FlowBuilder<Flow>("ProcessingFlow2").start(ProcessingFlow2Step).build();

新流程Flow rulesFlow = new FlowBuilder<Flow>("rulesFlow").build()

将流添加到流生成器

rulesFlow = new FlowBuilder<Flow>("rulesFlow").split(new SimpleAsyncTaskExecutor())
.add(ProcessingFlow1, ProcessingFlow2, ProcessingFlow3, )
.build();

我的问题基于属性文件中设置的一些属性if(prop1=false)然后如何在FlowBuilder中删除流处理Flow1

rulesFlow = new FlowBuilder<Flow>("rulesFlow").split(new SimpleAsyncTaskExecutor())
.add(, processingFlow2, processingFlow3, )
.build();

您可以将构建器提取为变量,并根据您的条件动态添加流,例如:

Flow processingFlow1 = ...
Flow processingFlow2 = ...
Flow processingFlow3 = ...
FlowBuilder.SplitBuilder<Flow> rulesFlowBuilder = new FlowBuilder<Flow>("rulesFlow")
.split(new SimpleAsyncTaskExecutor());
if (shouldAddFlow()) { // check prop1=false in this method
rulesFlowBuilder.add(processingFlow1);
}
Flow rulesflow = rulesFlowBuilder.add(processingFlow2, processingFlow3).build();

最新更新