From 96955aa0aafc3372c479dcd4e5d4bcd1f9b14506 Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Mon, 11 Aug 2025 11:31:59 +0300 Subject: [PATCH] http://jira.mfd.msk:8088/browse/CLS-887 --- .../config/HistoryHazelcastClientConfig.java | 5 ++-- .../services/TodayHistoryService.java | 24 +++++++++++-------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/config/HistoryHazelcastClientConfig.java b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/config/HistoryHazelcastClientConfig.java index d61c92800..405471ba8 100644 --- a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/config/HistoryHazelcastClientConfig.java +++ b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/config/HistoryHazelcastClientConfig.java @@ -8,7 +8,6 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import ru.spcex.clearing.historyimdg.config.element.ImdgSettings; -import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService; @Configuration @@ -26,7 +25,7 @@ public class HistoryHazelcastClientConfig { @Autowired @Bean - public ImdgProvider imdgProvider( + public HazelcastService imdgProvider( @Qualifier("taskExecutorHazelcastClientInitializer") ThreadPoolTaskExecutor taskExecutorHazelcastClientInitializer, @Qualifier("taskExecutorIdGeneratorAwaiter") ThreadPoolTaskExecutor taskExecutorIdGeneratorAwaiter, ImdgSettings imdgSettings @@ -35,7 +34,7 @@ public class HistoryHazelcastClientConfig { log.warn("Property \"backend-api.hazelcast.cluster-members\" not set!"); throw new IllegalArgumentException("Property \"backend-api.hazelcast.cluster-members\" not set"); } - ImdgProvider imdg = new HazelcastService(taskExecutorHazelcastClientInitializer, + HazelcastService imdg = new HazelcastService(taskExecutorHazelcastClientInitializer, taskExecutorIdGeneratorAwaiter, imdgSettings.getHazelcastClient()); return imdg; diff --git a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/services/TodayHistoryService.java b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/services/TodayHistoryService.java index 6f01dbb6d..3e0e32b4f 100644 --- a/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/services/TodayHistoryService.java +++ b/clearing-parent/imdg-hist/src/main/java/ru/spcex/clearing/historyimdg/services/TodayHistoryService.java @@ -14,25 +14,29 @@ import org.springframework.beans.factory.DisposableBean; import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import ru.clearing.classes.statics.data.misc.SessionHistory; import ru.spcex.clearing.historyimdg.component.SearchProxyBuilder; import ru.spcex.clearing.historyimdg.component.TodayQueueListener; import ru.spcex.clearing.historyimdg.index.SearchProxy; +import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.platform.classes.base.interfaces.WithId; -import ru.spcex.platform.imdg.api.ImdgProvider; +import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService; import ru.spcex.platform.imdg.iml.hazelcast.service.IHazelcastClusterStatus; @Service public class TodayHistoryService implements InitializingBean, DisposableBean, IHazelcastClusterStatus { private final Logger log = LoggerFactory.getLogger(getClass()); - private final ImdgProvider imdgProvider; + private final HazelcastService imdgProvider; private final HazelcastLifecycleSupport hzLifecycleSupport; private final SearchProxyBuilder searchProxyBuilder; private HazelcastInstance availableStorageHzInstance; //---- listeners ---- - + private TodayQueueListener sessionHistoryListener; @Autowired - public TodayHistoryService(ImdgProvider imdgProvider, HazelcastLifecycleSupport hzLifecycleSupport, SearchProxyBuilder searchProxyBuilder) { + public TodayHistoryService(HazelcastService imdgProvider, + HazelcastLifecycleSupport hzLifecycleSupport, + SearchProxyBuilder searchProxyBuilder) { this.imdgProvider = imdgProvider; this.hzLifecycleSupport = hzLifecycleSupport; this.searchProxyBuilder = searchProxyBuilder; @@ -40,7 +44,7 @@ public class TodayHistoryService implements InitializingBean, DisposableBean, IH @Override public void afterPropertiesSet() { -// imdgProvider.statusSubscribe(this); + imdgProvider.statusSubscribe(this); } /** @@ -79,8 +83,8 @@ public class TodayHistoryService implements InitializingBean, DisposableBean, IH Long maxSearchId = targetMap.aggregate(Aggregators.longMax("id")); if (maxSearchId == null) maxSearchId = 0L; - Collection ids = historyMap.project(Projections.singleAttribute("id") - , Predicates.greaterThan("id", maxSearchId)); + Collection ids = historyMap.project(Projections.singleAttribute("id"), + Predicates.greaterThan("id", maxSearchId)); for (Long id : ids) { T t = historyMap.get(id); targetMap.set(id, searchProxyBuilder.build(t, clazz)); @@ -104,9 +108,9 @@ public class TodayHistoryService implements InitializingBean, DisposableBean, IH public void getAvailable(HazelcastInstance storageHzInstanceInited) { this.availableStorageHzInstance = storageHzInstanceInited; //----- -// repoMMOrderListener = registerListener(Map_RepoMMOrder, Map_RepoMMOrderSearch, RepoMMOrder.class); -// loadSnapshot(Map_RepoMMOrder, Map_RepoMMOrderSearch, RepoMMOrder.class); -// repoMMOrderListener.startProcessingNewEntries(); + sessionHistoryListener = registerListener(IMDGDistributedNames.Map_SessionHistory, IMDGDistributedNames.Map_SearchSessionHistory, SessionHistory.class); + loadSnapshot(IMDGDistributedNames.Map_SessionHistory, IMDGDistributedNames.Map_SearchSessionHistory, SessionHistory.class); + sessionHistoryListener.startProcessingNewEntries(); //----- this.availableStorageHzInstance = null;