parent
d5a7154a25
commit
49729c4d08
2 changed files with 44 additions and 15 deletions
|
|
@ -19,30 +19,30 @@ import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.*;
|
import java.util.concurrent.*;
|
||||||
|
|
||||||
|
import static ru.spcex.clearing.imdg.util.Util.makeSchedulerAllTodayMap;
|
||||||
|
|
||||||
//todo почистить класс
|
//todo почистить класс
|
||||||
public abstract class AbstractHazelcastLifecycleSupport implements InitializingBean, DisposableBean {
|
public abstract class AbstractHazelcastLifecycleSupport implements InitializingBean, DisposableBean {
|
||||||
/**
|
|
||||||
* Рабочая версия БД. Треьуется вручную сверять с DDL.sql и накручивать эту переменную.
|
|
||||||
*/
|
|
||||||
public abstract String getCheckDbVersion();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Обязательная сверка у этих классов SerialVersionUID во время подключения к Storage.
|
|
||||||
*/
|
|
||||||
public abstract Class[] getSerialVersionUIDClasses();
|
|
||||||
|
|
||||||
private final Logger log = LoggerFactory.getLogger(this.getClass());
|
private final Logger log = LoggerFactory.getLogger(this.getClass());
|
||||||
|
|
||||||
private final HazelcastInstance hazelcastServerInstance;
|
private final HazelcastInstance hazelcastServerInstance;
|
||||||
private final JdbcTemplate jdbcTemplate;
|
private final JdbcTemplate jdbcTemplate;
|
||||||
// private final HazelcastClientListener clientListener;
|
|
||||||
// private final ITaskAdministrator startupTasksAdministrator;
|
|
||||||
|
|
||||||
public AbstractHazelcastLifecycleSupport(HazelcastInstance hazelcastServerInstance, JdbcTemplate jdbcTemplate) {
|
public AbstractHazelcastLifecycleSupport(HazelcastInstance hazelcastServerInstance, JdbcTemplate jdbcTemplate) {
|
||||||
this.hazelcastServerInstance = hazelcastServerInstance;
|
this.hazelcastServerInstance = hazelcastServerInstance;
|
||||||
this.jdbcTemplate = jdbcTemplate;
|
this.jdbcTemplate = jdbcTemplate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Рабочая версия БД. Треьуется вручную сверять с DDL.sql и накручивать эту переменную.
|
||||||
|
*/
|
||||||
|
public abstract String getCheckDbVersion();
|
||||||
|
// private final HazelcastClientListener clientListener;
|
||||||
|
// private final ITaskAdministrator startupTasksAdministrator;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Обязательная сверка у этих классов SerialVersionUID во время подключения к Storage.
|
||||||
|
*/
|
||||||
|
public abstract Class[] getSerialVersionUIDClasses();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void afterPropertiesSet() {
|
public void afterPropertiesSet() {
|
||||||
|
|
@ -99,7 +99,7 @@ public abstract class AbstractHazelcastLifecycleSupport implements InitializingB
|
||||||
boolean generatorResult = generator.init(maxKey);
|
boolean generatorResult = generator.init(maxKey);
|
||||||
if (generatorResult) {
|
if (generatorResult) {
|
||||||
log.info("IDGenerator {} success init by {}", IMDGDistributedNames.MAP_SEQUENCE_NAME, maxKey);
|
log.info("IDGenerator {} success init by {}", IMDGDistributedNames.MAP_SEQUENCE_NAME, maxKey);
|
||||||
// makeSchedulerAllTodayMap();
|
makeSchedulerAllTodayMap(hazelcastServerInstance);
|
||||||
} else {
|
} else {
|
||||||
log.info("IDGenerator {} already initialized in other node", IMDGDistributedNames.MAP_SEQUENCE_NAME);
|
log.info("IDGenerator {} already initialized in other node", IMDGDistributedNames.MAP_SEQUENCE_NAME);
|
||||||
}
|
}
|
||||||
|
|
@ -114,7 +114,6 @@ public abstract class AbstractHazelcastLifecycleSupport implements InitializingB
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void destroy() {
|
public void destroy() {
|
||||||
hazelcastServerInstance.shutdown();
|
hazelcastServerInstance.shutdown();
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
package ru.spcex.clearing.imdg.util;
|
||||||
|
|
||||||
|
import com.hazelcast.core.HazelcastInstance;
|
||||||
|
import com.hazelcast.core.IMap;
|
||||||
|
import ru.clearing.classes.statics.data.scheduler.Scheduler;
|
||||||
|
import ru.clearing.classes.statics.data.scheduler.Timetable;
|
||||||
|
import ru.clearing.classes.statics.data.scheduler.TradingCalendar;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import static ru.spcex.clearing.imdg.IMDGDistributedNames.*;
|
||||||
|
|
||||||
|
public class Util {
|
||||||
|
|
||||||
|
public static void makeSchedulerAllTodayMap(HazelcastInstance hazelcastInstance) {
|
||||||
|
IMap<Long, Scheduler> schedulerMap = hazelcastInstance.getMap(Map_Scheduler);
|
||||||
|
IMap<Long, TradingCalendar> tradingCalendarMap = hazelcastInstance.getMap(Map_TradingCalendar);
|
||||||
|
IMap<Long, Timetable> timetableMap = hazelcastInstance.getMap(Map_Timetable);
|
||||||
|
Boolean isTradingCalendarEmpty = tradingCalendarMap.isEmpty();
|
||||||
|
|
||||||
|
List<Scheduler> listOfSchedulerOnDate = schedulerMap.values().stream().filter((x) -> x.getClearingDate().isEqual(LocalDate.now())).toList();
|
||||||
|
if (isTradingCalendarEmpty) {
|
||||||
|
//то из timeTable все активные записи.
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Add table
Reference in a new issue