Пружинная партия -Как добавить поток на основе проверки условий - PullRequest
0 голосов
/ 20 апреля 2020

На основании некоторых свойств, установленных в файлах свойств if (prop1 = false) Тогда как удалить поток processingFlow1 в FlowBuilder ..

 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) Тогда как убрать поток обработки Flow1 в FlowBuilder ..

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

1 Ответ

0 голосов
/ 20 апреля 2020

Вы можете извлечь конструктор как переменную и динамически добавлять потоки в зависимости от вашего состояния, например:

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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...