diff --git a/src/main/java/ru/nbch/credit_tracker/config/task/ExecutorsConfig.java b/src/main/java/ru/nbch/credit_tracker/config/task/ExecutorsConfig.java index e956a4e..645ceaa 100644 --- a/src/main/java/ru/nbch/credit_tracker/config/task/ExecutorsConfig.java +++ b/src/main/java/ru/nbch/credit_tracker/config/task/ExecutorsConfig.java @@ -10,20 +10,40 @@ import java.util.concurrent.Executors; @Configuration public class ExecutorsConfig { - @Bean(destroyMethod = "shutdown") - public ExecutorService pipelineExecutorService() { + @Bean(name = "npPipelineExecutorService", + destroyMethod = "shutdown") + public ExecutorService npPipelineExecutorService() { return Executors.newFixedThreadPool(15, r -> { Thread t = new Thread(r); - t.setName("pipe-starter-%d".formatted(t.threadId())); + t.setName("np-pipe-starter-%d".formatted(t.threadId())); return t; }); } - @Bean - public ExecutorService saverExecutorService(CreditTrackerSettings creditTrackerSettings) { + @Bean(name = "lpPipelineExecutorService", + destroyMethod = "shutdown") + public ExecutorService lpPipelineExecutorService() { + return Executors.newFixedThreadPool(15, r -> { + Thread t = new Thread(r); + t.setName("lp-pipe-starter-%d".formatted(t.threadId())); + return t; + }); + } + + @Bean("npSaverExecutorService") + public ExecutorService npSaverExecutorService(CreditTrackerSettings creditTrackerSettings) { return Executors.newFixedThreadPool(creditTrackerSettings.getNpPipeline().parallelRequests(), r -> { Thread t = new Thread(r); - t.setName("subject-saver-%d".formatted(t.threadId())); + t.setName("np-subject-saver-%d".formatted(t.threadId())); + return t; + }); + } + + @Bean("lpSaverExecutorService") + public ExecutorService lpSaverExecutorService(CreditTrackerSettings creditTrackerSettings) { + return Executors.newFixedThreadPool(creditTrackerSettings.getNpPipeline().parallelRequests(), r -> { + Thread t = new Thread(r); + t.setName("lp-subject-saver-%d".formatted(t.threadId())); return t; }); } diff --git a/src/main/java/ru/nbch/credit_tracker/service/task/LpPipelinePackageOrchestrator.java b/src/main/java/ru/nbch/credit_tracker/service/task/LpPipelinePackageOrchestrator.java index 01e2a58..9354aad 100644 --- a/src/main/java/ru/nbch/credit_tracker/service/task/LpPipelinePackageOrchestrator.java +++ b/src/main/java/ru/nbch/credit_tracker/service/task/LpPipelinePackageOrchestrator.java @@ -1,5 +1,6 @@ package ru.nbch.credit_tracker.service.task; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Service; import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings; import ru.nbch.credit_tracker.config.settings.PipelineSettings; @@ -12,10 +13,10 @@ public class LpPipelinePackageOrchestrator extends PackageOrchestrator { private final CreditTrackerSettings creditTrackerSettings; public LpPipelinePackageOrchestrator(CreditTrackerSettings creditTrackerSettings, - UserPackageMapper userPackageMapper, // TODO - ExecutorService pipelineExecutorService, // TODO - ExecutorService saverExecutorService) { // TODO - super(userPackageMapper, pipelineExecutorService, saverExecutorService); + UserPackageMapper userPackageMapper, + @Qualifier("lpPipelineExecutorService") ExecutorService lpPipelineExecutorService, + @Qualifier("lpSaverExecutorService") ExecutorService lpSaverExecutorService) { + super(userPackageMapper, lpPipelineExecutorService, lpSaverExecutorService); this.creditTrackerSettings = creditTrackerSettings; } diff --git a/src/main/java/ru/nbch/credit_tracker/service/task/LpPipelineRecalcOrchestrator.java b/src/main/java/ru/nbch/credit_tracker/service/task/LpPipelineRecalcOrchestrator.java index 6c70099..419fc51 100644 --- a/src/main/java/ru/nbch/credit_tracker/service/task/LpPipelineRecalcOrchestrator.java +++ b/src/main/java/ru/nbch/credit_tracker/service/task/LpPipelineRecalcOrchestrator.java @@ -1,5 +1,6 @@ package ru.nbch.credit_tracker.service.task; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Service; import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings; import ru.nbch.credit_tracker.config.settings.PipelineSettings; @@ -12,8 +13,8 @@ public class LpPipelineRecalcOrchestrator extends RecalcOrchestrator{ private final CreditTrackerSettings creditTrackerSettings; public LpPipelineRecalcOrchestrator(CreditTrackerSettings creditTrackerSettings, - ExecutorService pipelineExecutorService) { // TODO another executor - super(pipelineExecutorService); + @Qualifier("lpPipelineExecutorService") ExecutorService lpPipelineExecutorService) { + super(lpPipelineExecutorService); this.creditTrackerSettings = creditTrackerSettings; } diff --git a/src/main/java/ru/nbch/credit_tracker/service/task/NpPipelinePackageOrchestrator.java b/src/main/java/ru/nbch/credit_tracker/service/task/NpPipelinePackageOrchestrator.java index 398da92..0387a59 100644 --- a/src/main/java/ru/nbch/credit_tracker/service/task/NpPipelinePackageOrchestrator.java +++ b/src/main/java/ru/nbch/credit_tracker/service/task/NpPipelinePackageOrchestrator.java @@ -1,5 +1,6 @@ package ru.nbch.credit_tracker.service.task; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Service; import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings; import ru.nbch.credit_tracker.config.settings.PipelineSettings; @@ -13,9 +14,9 @@ public class NpPipelinePackageOrchestrator extends PackageOrchestrator { public NpPipelinePackageOrchestrator(CreditTrackerSettings creditTrackerSettings, UserPackageMapper userPackageMapper, - ExecutorService pipelineExecutorService, - ExecutorService saverExecutorService) { - super(userPackageMapper, pipelineExecutorService, saverExecutorService); + @Qualifier("npPipelineExecutorService") ExecutorService npPipelineExecutorService, + @Qualifier("npSaverExecutorService") ExecutorService npSaverExecutorService) { + super(userPackageMapper, npPipelineExecutorService, npSaverExecutorService); this.creditTrackerSettings = creditTrackerSettings; } diff --git a/src/main/java/ru/nbch/credit_tracker/service/task/NpPipelineRecalcOrchestrator.java b/src/main/java/ru/nbch/credit_tracker/service/task/NpPipelineRecalcOrchestrator.java index a1c145d..d55bbf1 100644 --- a/src/main/java/ru/nbch/credit_tracker/service/task/NpPipelineRecalcOrchestrator.java +++ b/src/main/java/ru/nbch/credit_tracker/service/task/NpPipelineRecalcOrchestrator.java @@ -1,5 +1,6 @@ package ru.nbch.credit_tracker.service.task; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Service; import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings; import ru.nbch.credit_tracker.config.settings.PipelineSettings; @@ -11,8 +12,8 @@ public class NpPipelineRecalcOrchestrator extends RecalcOrchestrator { private final CreditTrackerSettings creditTrackerSettings; public NpPipelineRecalcOrchestrator(CreditTrackerSettings creditTrackerSettings, - ExecutorService pipelineExecutorService) { - super(pipelineExecutorService); + @Qualifier("npPipelineExecutorService")ExecutorService npPipelineExecutorService) { + super(npPipelineExecutorService); this.creditTrackerSettings = creditTrackerSettings; }