From 9f78eff8a38e9be37a296e08bc37c57ff9da4588 Mon Sep 17 00:00:00 2001 From: akulikov Date: Tue, 23 Apr 2024 15:52:00 +0300 Subject: [PATCH] force stop session feature fixes --- .../java/ru/spcex/clearing/service/EventsReceiver.java | 7 ++----- .../ru/spcex/clearing/session/stage/SessionTerminator.java | 4 +++- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/EventsReceiver.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/EventsReceiver.java index 6e882a5bf..e8fbcecbb 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/EventsReceiver.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/EventsReceiver.java @@ -1,8 +1,6 @@ package ru.spcex.clearing.service; import java.time.LocalTime; -import java.util.Arrays; -import java.util.List; import org.apache.kafka.clients.consumer.Consumer; import org.apache.kafka.clients.producer.Producer; import org.slf4j.Logger; @@ -11,6 +9,7 @@ import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.core.env.Environment; +import org.springframework.core.env.Profiles; import org.springframework.stereotype.Service; import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.Consts; @@ -215,9 +214,7 @@ public class EventsReceiver extends QueueConsumer implements InitializingBean { .setFunction(sessionTerminator::stopCurrentSession) .forDestination(Consts.KILL_SESSION, callbacks::put); - String[] profilesRaw = environment.getActiveProfiles(); - List profiles = Arrays.stream(profilesRaw).map(s -> s == null ? "" : s.trim().toUpperCase()).toList(); - if (profiles.contains("DEV")) { + if (environment.acceptsProfiles(Profiles.of("dev"))) { callback(LauncherCommandRequest.class) .setFunction(sessionTerminator::forceStopSession) .forDestination(Consts.FORCE_STOP_SESSION, callbacks::put); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/SessionTerminator.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/SessionTerminator.java index af65bd289..ea11f5bda 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/SessionTerminator.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/SessionTerminator.java @@ -32,6 +32,7 @@ import ru.spcex.platform.enumeration.ObjectType; import ru.spcex.platform.enumeration.Priority; import ru.spcex.platform.enumeration.RegistryTradingParams; import ru.spcex.platform.enumeration.Section; +import ru.spcex.platform.enumeration.SessionStatus; import ru.spcex.platform.enumeration.SessionType; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgProvider; @@ -109,7 +110,8 @@ public class SessionTerminator { Collection sessions = sessionImdg.getCollectionObjectsByPredicate( pb.and( pb.equals("sessionType", sessionTypeStr), - pb.equals("section", sectionStr) + pb.equals("section", sectionStr), + pb.equals("workflowStatus", SessionStatus.ACTV.getKey()) ) ); List cantComplete = new ArrayList<>();