diff --git a/common/src/main/java/com/trust/ywx/customer/common/nacos/NacosServer.java b/common/src/main/java/com/trust/ywx/customer/common/nacos/NacosServer.java index 743b774..3a55e63 100644 --- a/common/src/main/java/com/trust/ywx/customer/common/nacos/NacosServer.java +++ b/common/src/main/java/com/trust/ywx/customer/common/nacos/NacosServer.java @@ -36,17 +36,18 @@ public class NacosServer { @Resource private NacosConfig nacosConfig; - private static FirmNacosConfig firmNacosConfig; + private FirmNacosConfig firmNacosConfig; + @Resource + private ConfigService configService; private static final String DATA_ID = "com.trust.ywx.customer.common.nacos.NacosConfig"; private static final String GROUP = "ywx-customer"; @Bean - @Order(99) public ConfigService buildCache() throws NacosException { Properties properties = nacosConfig.getPropertie(); - ConfigService configService = NacosFactory.createConfigService(properties); + configService = NacosFactory.createConfigService(properties); configService.addListener(DATA_ID, GROUP, new AbstractListener() { @Override public void receiveConfigInfo(String config) { @@ -61,7 +62,15 @@ public class NacosServer { return configService; } - public static FirmNacosConfig getFirmNacosConfig() { - return firmNacosConfig==null?new FirmNacosConfig():firmNacosConfig; + public FirmNacosConfig getFirmNacosConfig() { + if(firmNacosConfig==null){ + try { + String config = configService.getConfig(DATA_ID,GROUP,5000); + firmNacosConfig = JsonUtil.of(config,FirmNacosConfig.class); + } catch (NacosException e) { + log.error("nacos get config error:{}",e.getMessage()); + } + } + return firmNacosConfig; } } diff --git a/customer/src/main/java/com/trust/ywx/customer/service/mq/ProducerClient.java b/customer/src/main/java/com/trust/ywx/customer/service/mq/ProducerClient.java index f4ce8bb..e0de7b4 100644 --- a/customer/src/main/java/com/trust/ywx/customer/service/mq/ProducerClient.java +++ b/customer/src/main/java/com/trust/ywx/customer/service/mq/ProducerClient.java @@ -17,15 +17,15 @@ import java.util.Properties; public class ProducerClient { @Resource - private ConfigService configService; + private NacosServer nacosServer; // @Bean(initMethod = "start", destroyMethod = "shutdown" ) @Order(100) public ProducerBean buildProducer() { Properties properties = new Properties(); - properties.setProperty(PropertyKeyConst.AccessKey, NacosServer.getFirmNacosConfig().getAliAccessKey()); - properties.setProperty(PropertyKeyConst.SecretKey, NacosServer.getFirmNacosConfig().getAliSecretKey()); - properties.setProperty(PropertyKeyConst.NAMESRV_ADDR, NacosServer.getFirmNacosConfig().getRocketMqNameServAddr()); + properties.setProperty(PropertyKeyConst.AccessKey, nacosServer.getFirmNacosConfig().getAliAccessKey()); + properties.setProperty(PropertyKeyConst.SecretKey, nacosServer.getFirmNacosConfig().getAliSecretKey()); + properties.setProperty(PropertyKeyConst.NAMESRV_ADDR, nacosServer.getFirmNacosConfig().getRocketMqNameServAddr()); ProducerBean producer = new ProducerBean(); producer.setProperties(properties); return producer; diff --git a/facade/src/main/java/com/trust/ywx/customer/service/client/FirmLocalCacheService.java b/facade/src/main/java/com/trust/ywx/customer/service/client/FirmLocalCacheService.java index e2d145c..456a975 100644 --- a/facade/src/main/java/com/trust/ywx/customer/service/client/FirmLocalCacheService.java +++ b/facade/src/main/java/com/trust/ywx/customer/service/client/FirmLocalCacheService.java @@ -5,10 +5,12 @@ import com.aliyun.openservices.ons.api.*; import com.fiftyonetrust.common.util.JsonUtil; import com.trust.ywx.customer.common.CommonConstants; import com.trust.ywx.customer.common.model.manager.response.FirmBaseDto; +import com.trust.ywx.customer.common.nacos.NacosServer; import com.trust.ywx.customer.service.query.FirmQueryService; import lombok.Data; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; +import org.springframework.context.annotation.Bean; import javax.annotation.Resource; import java.util.Map; @@ -41,6 +43,8 @@ public class FirmLocalCacheService { @Resource private FirmQueryService firmQueryService; + @Resource + private NacosServer nacosServer; private static Map localFirmInfoMap = new ConcurrentHashMap<>(); private static Map> localFirmExtendMap = new ConcurrentHashMap<>(); @@ -49,9 +53,12 @@ public class FirmLocalCacheService { * 获取可信客户详情 */ public FirmBaseDto getFirmByClientId(String clientId) { - FirmBaseDto dto = localFirmInfoMap.get(clientId); - if (dto != null) { - return dto; + FirmBaseDto dto = null; + if(nacosServer.getFirmNacosConfig().isUseLocalCache()){ + dto = localFirmInfoMap.get(clientId); + if (dto != null) { + return dto; + } } try { @@ -99,13 +106,13 @@ public class FirmLocalCacheService { localFirmExtendMap.put(clientId, map); } - // @Bean + @Bean public void initConsumer() { Properties properties = new Properties(); - properties.put("ONSAddr", rocketMqHost); - properties.put("AccessKey", accessKey); - properties.put("SecretKey", secretKey); - // properties.put("ConsumerId", groupID); + properties.put("ONSAddr", nacosServer.getFirmNacosConfig().getRocketMqNameServAddr()); + properties.put("AccessKey", nacosServer.getFirmNacosConfig().getAliAccessKey()); + properties.put("SecretKey", nacosServer.getFirmNacosConfig().getAliSecretKey()); + properties.put("ConsumerId", "ywx-customer"); properties.setProperty("ConsumeThreadNums", String.valueOf(ConsumeThreadNums)); properties.setProperty("maxReconsumeTimes", String.valueOf(MaxReconsumeTimes)); // 广播订阅方式设置。