From a3d2726b2323cffc9230d898ea9cfe1511e226c2 Mon Sep 17 00:00:00 2001 From: AKurakin Date: Tue, 24 Oct 2023 11:41:57 +0300 Subject: [PATCH] =?UTF-8?q?IMDG=20http://jira.mfd.msk:8088/browse/CLS-572?= =?UTF-8?q?=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20=D0=BD=D0=B0?= =?UTF-8?q?=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA=D1=83=20backup-count?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../clearing/imdg/config/PoolMapConfigs.java | 27 +++++++++++++++---- .../element/HazelcastServerSettings.java | 9 +++++++ .../src/main/resources/application.properties | 1 + 3 files changed, 32 insertions(+), 5 deletions(-) diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/config/PoolMapConfigs.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/config/PoolMapConfigs.java index d5889abff..42b569105 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/config/PoolMapConfigs.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/config/PoolMapConfigs.java @@ -5,6 +5,7 @@ import com.hazelcast.core.MapLoader; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import ru.spcex.clearing.imdg.IMDGDistributedNames; @@ -12,6 +13,7 @@ import ru.spcex.clearing.imdg.base.AutoconfiguredMap; import ru.spcex.clearing.imdg.base.DictionaryTMapStore; import ru.spcex.clearing.imdg.businessevent.CompanyHistoryMapStore; import ru.spcex.clearing.imdg.businessobject.CompanyMapStore; +import ru.spcex.clearing.imdg.config.element.ImdgSettings; import java.util.ArrayList; import java.util.Arrays; @@ -19,8 +21,12 @@ import java.util.HashSet; import java.util.List; @Configuration -public class PoolMapConfigs { +public class PoolMapConfigs implements InitializingBean { private final Logger log = LoggerFactory.getLogger(getClass()); + + @Autowired + protected ImdgSettings settings; + @Autowired private CompanyMapStore companyMapStore; @@ -31,6 +37,15 @@ public class PoolMapConfigs { @Autowired private List> listOfAutopluginStores; + @Override + public void afterPropertiesSet() { + if (settings.getHazelcast().getBackupCount() != null) { + log.debug("IMDG Setting backup-count = {}", settings.getHazelcast().getBackupCount()); + } else { + log.info("IMDG Setting backup-count not set"); + } + } + private MapStoreConfig makeDefaultMapStoreConfig(MapLoader mapBean) { return new MapStoreConfig() .setImplementation(mapBean) @@ -46,12 +61,14 @@ public class PoolMapConfigs { } public MapConfig makeDefaultMapConfig(String mapName, MapLoader mapBean) { - return new MapConfig() + MapConfig cfg = new MapConfig() .setName(mapName) .setInMemoryFormat(InMemoryFormat.OBJECT) - .setMapStoreConfig(makeDefaultMapStoreConfig(mapBean)) -//fixme config: .setBackupCount(configRoot.getIMDG().getBackupCount()) - ; + .setMapStoreConfig(makeDefaultMapStoreConfig(mapBean)); + if (settings.getHazelcast().getBackupCount() != null) { + cfg.setBackupCount(settings.getHazelcast().getBackupCount()); + } + return cfg; } private NearCacheConfig makeDefaultNearCacheConfig() { diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/config/element/HazelcastServerSettings.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/config/element/HazelcastServerSettings.java index b0daa2dd6..ca9e63268 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/config/element/HazelcastServerSettings.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/config/element/HazelcastServerSettings.java @@ -8,6 +8,7 @@ public class HazelcastServerSettings { private String login; private String password; private List clusterMembers; + private Integer backupCount; public int getListenPort() { return listenPort; @@ -40,4 +41,12 @@ public class HazelcastServerSettings { public void setClusterMembers(List clusterMembers) { this.clusterMembers = clusterMembers; } + + public Integer getBackupCount() { + return backupCount; + } + + public void setBackupCount(Integer backupCount) { + this.backupCount = backupCount; + } } diff --git a/clearing-parent/imdg/src/main/resources/application.properties b/clearing-parent/imdg/src/main/resources/application.properties index 44af70f94..5204d1790 100644 --- a/clearing-parent/imdg/src/main/resources/application.properties +++ b/clearing-parent/imdg/src/main/resources/application.properties @@ -2,6 +2,7 @@ imdg.hazelcast.listenPort=5701 imdg.hazelcast.login=dev imdg.hazelcast.password=dev-pass imdg.hazelcast.cluster-members[0]=127.0.0.1 +imdg.hazelcast.backup-count=3 imdg.database.login=clearing imdg.database.password=Aa111111 imdg.database.url=jdbc:postgresql://10.200.200.133:5432/clearing?currentSchema=clearing_prod