From e9092e63db6f2d963f07749d847622aa15088da2 Mon Sep 17 00:00:00 2001 From: Mikhail Trofimov Date: Thu, 23 Apr 2026 15:29:23 +0300 Subject: [PATCH] Added Suspicios annotation --- .../nbch/credit_tracker/refactoring/Suspicios.java | 5 +++++ .../ru/nbch/credit_tracker/service/task/Handler.java | 3 +++ .../nbch/credit_tracker/service/task/Pipeline.java | 12 +++++------- .../service/task/setup/StageBuilderV2.java | 9 ++++++--- .../service/task/setup/step/BuildStep.java | 6 +++++- 5 files changed, 24 insertions(+), 11 deletions(-) create mode 100644 src/main/java/ru/nbch/credit_tracker/refactoring/Suspicios.java diff --git a/src/main/java/ru/nbch/credit_tracker/refactoring/Suspicios.java b/src/main/java/ru/nbch/credit_tracker/refactoring/Suspicios.java new file mode 100644 index 0000000..a8894cf --- /dev/null +++ b/src/main/java/ru/nbch/credit_tracker/refactoring/Suspicios.java @@ -0,0 +1,5 @@ +package ru.nbch.credit_tracker.refactoring; + +public @interface Suspicios { + String value(); +} diff --git a/src/main/java/ru/nbch/credit_tracker/service/task/Handler.java b/src/main/java/ru/nbch/credit_tracker/service/task/Handler.java index 2ba0562..cb68c32 100644 --- a/src/main/java/ru/nbch/credit_tracker/service/task/Handler.java +++ b/src/main/java/ru/nbch/credit_tracker/service/task/Handler.java @@ -2,6 +2,7 @@ package ru.nbch.credit_tracker.service.task; import ru.nbch.credit_tracker.model.PipelineContext; import ru.nbch.credit_tracker.model.StagePayload; +import ru.nbch.credit_tracker.refactoring.Suspicios; public interface Handler { Z handle(X taskPayload); @@ -12,9 +13,11 @@ public interface Handler { return (PipelineContext) ctx; } + @Suspicios("Удалить?") default void handleOnPoison(X poison){ //do nothing } + default int preferredConcurrency() {return 10;} Z cookPoison(); diff --git a/src/main/java/ru/nbch/credit_tracker/service/task/Pipeline.java b/src/main/java/ru/nbch/credit_tracker/service/task/Pipeline.java index 52e610a..f765381 100644 --- a/src/main/java/ru/nbch/credit_tracker/service/task/Pipeline.java +++ b/src/main/java/ru/nbch/credit_tracker/service/task/Pipeline.java @@ -1,15 +1,16 @@ package ru.nbch.credit_tracker.service.task; -import java.util.List; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Future; -import java.util.concurrent.atomic.AtomicBoolean; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import ru.nbch.credit_tracker.model.PipelineContext; import ru.nbch.credit_tracker.service.task.setup.IPipeLineTerminator; import ru.nbch.credit_tracker.utils.LogUtil; +import java.util.List; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Future; +import java.util.concurrent.atomic.AtomicBoolean; + public class Pipeline { private final Logger log = LoggerFactory.getLogger(getClass()); private Runnable starter; @@ -21,9 +22,6 @@ public class Pipeline { private PipelineContext context; private volatile long startTime; - public Pipeline() { - } - public void start(ExecutorService executorService) { this.startTime = System.currentTimeMillis(); this.starterFuture = executorService.submit(LogUtil.wrap(LogUtil.extractMdcMap(), starter)); diff --git a/src/main/java/ru/nbch/credit_tracker/service/task/setup/StageBuilderV2.java b/src/main/java/ru/nbch/credit_tracker/service/task/setup/StageBuilderV2.java index fefc256..93c90db 100644 --- a/src/main/java/ru/nbch/credit_tracker/service/task/setup/StageBuilderV2.java +++ b/src/main/java/ru/nbch/credit_tracker/service/task/setup/StageBuilderV2.java @@ -1,14 +1,16 @@ package ru.nbch.credit_tracker.service.task.setup; -import java.util.Objects; -import java.util.concurrent.BlockingQueue; -import java.util.function.Consumer; import ru.nbch.credit_tracker.model.StagePayload; +import ru.nbch.credit_tracker.refactoring.Suspicios; import ru.nbch.credit_tracker.service.task.Handler; import ru.nbch.credit_tracker.service.task.Stage; import ru.nbch.credit_tracker.service.task.setup.step.BuildStep; import ru.nbch.credit_tracker.service.task.setup.step.HandlerStep; +import java.util.Objects; +import java.util.concurrent.BlockingQueue; +import java.util.function.Consumer; + /** * Step Builder для Stage: * Обязательная последовательность: handler(...) -> poison(...) -> buildStage() @@ -46,6 +48,7 @@ public class StageBuilderV2 handlerResult(Consumer consumer) { this.consumer = Objects.requireNonNull(consumer, "consumer is required"); diff --git a/src/main/java/ru/nbch/credit_tracker/service/task/setup/step/BuildStep.java b/src/main/java/ru/nbch/credit_tracker/service/task/setup/step/BuildStep.java index e3b7e4e..001d29b 100644 --- a/src/main/java/ru/nbch/credit_tracker/service/task/setup/step/BuildStep.java +++ b/src/main/java/ru/nbch/credit_tracker/service/task/setup/step/BuildStep.java @@ -1,10 +1,14 @@ package ru.nbch.credit_tracker.service.task.setup.step; -import java.util.function.Consumer; import ru.nbch.credit_tracker.model.StagePayload; +import ru.nbch.credit_tracker.refactoring.Suspicios; import ru.nbch.credit_tracker.service.task.setup.PipeLineBuilderV2; +import java.util.function.Consumer; + public interface BuildStep { PipeLineBuilderV2 andThen(); + + @Suspicios("Удалить?") BuildStep handlerResult(Consumer consumer); }