pipeline builder refactor
This commit is contained in:
parent
8e53f24aeb
commit
d24cd03656
2 changed files with 6 additions and 6 deletions
|
|
@ -100,13 +100,11 @@ public class PipelinePackageManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void buildAndRun2(Long packageId, String pkgPath) throws Exception {
|
public void buildAndRun2(Long packageId, String pkgPath) throws Exception {
|
||||||
BlockingQueue<SubjectPayload> idEnricherQueue = idEnricherQueueFactory.getObject();
|
var startPipeLine = PipeLineBuilderV2.first(saveSubjectQueueFactory.getObject(), idEnricherQueueFactory.getObject())
|
||||||
BlockingQueue<SendSignalsPayload> signalsQueue = sendSignalQueueFactory.getObject();
|
|
||||||
var startPipeLine = PipeLineBuilderV2.first(saveSubjectQueueFactory.getObject(), idEnricherQueue)
|
|
||||||
.handler(saveSubjectHandler)
|
.handler(saveSubjectHandler)
|
||||||
.poison(SubjectPayload.POISON)
|
.poison(SubjectPayload.POISON)
|
||||||
.andThen()
|
.andThen()
|
||||||
.stage(idEnricherQueue, signalsQueue)
|
.stage(sendSignalQueueFactory.getObject())
|
||||||
.handler(fidIdEnricherHandler)
|
.handler(fidIdEnricherHandler)
|
||||||
.poison(SendSignalsPayload.POISON)
|
.poison(SendSignalsPayload.POISON)
|
||||||
.andThen()
|
.andThen()
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ import ru.nbch.credit_tracker.service.task.setup.step.HandlerStep;
|
||||||
public class PipeLineBuilderV2<FIRST extends StagePayload, LAST extends StagePayload> {
|
public class PipeLineBuilderV2<FIRST extends StagePayload, LAST extends StagePayload> {
|
||||||
private final List<Stage<?, ?>> stages;
|
private final List<Stage<?, ?>> stages;
|
||||||
private Stage<FIRST, ?> firstStage;
|
private Stage<FIRST, ?> firstStage;
|
||||||
|
private BlockingQueue<LAST> lastQueue;
|
||||||
|
|
||||||
private PipeLineBuilderV2() {
|
private PipeLineBuilderV2() {
|
||||||
this.stages = new ArrayList<>();
|
this.stages = new ArrayList<>();
|
||||||
|
|
@ -19,6 +20,7 @@ public class PipeLineBuilderV2<FIRST extends StagePayload, LAST extends StagePay
|
||||||
public static <I extends StagePayload, O extends StagePayload>
|
public static <I extends StagePayload, O extends StagePayload>
|
||||||
HandlerStep<I, I, O> first(BlockingQueue<I> inputQueue, BlockingQueue<O> outputQueue) {
|
HandlerStep<I, I, O> first(BlockingQueue<I> inputQueue, BlockingQueue<O> outputQueue) {
|
||||||
PipeLineBuilderV2<I, O> builder = new PipeLineBuilderV2<>();
|
PipeLineBuilderV2<I, O> builder = new PipeLineBuilderV2<>();
|
||||||
|
builder.lastQueue = outputQueue;
|
||||||
HandlerStep<I, I, O> step = StageBuilderV2.create(inputQueue, outputQueue);
|
HandlerStep<I, I, O> step = StageBuilderV2.create(inputQueue, outputQueue);
|
||||||
((StageBuilderV2<I, I, O>) step).setParent(builder);
|
((StageBuilderV2<I, I, O>) step).setParent(builder);
|
||||||
return step;
|
return step;
|
||||||
|
|
@ -26,8 +28,8 @@ public class PipeLineBuilderV2<FIRST extends StagePayload, LAST extends StagePay
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
public <NEXT extends StagePayload>
|
public <NEXT extends StagePayload>
|
||||||
HandlerStep<FIRST, LAST, NEXT> stage(BlockingQueue<LAST> inputQueue, BlockingQueue<NEXT> outputQueue) {
|
HandlerStep<FIRST, LAST, NEXT> stage(BlockingQueue<NEXT> outputQueue) {
|
||||||
HandlerStep<FIRST, LAST, NEXT> step = StageBuilderV2.create(inputQueue, outputQueue);
|
HandlerStep<FIRST, LAST, NEXT> step = StageBuilderV2.create(lastQueue, outputQueue);
|
||||||
((StageBuilderV2<FIRST, LAST, NEXT>) step).setParent((PipeLineBuilderV2<FIRST, NEXT>) this);
|
((StageBuilderV2<FIRST, LAST, NEXT>) step).setParent((PipeLineBuilderV2<FIRST, NEXT>) this);
|
||||||
return step;
|
return step;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue