@@ -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; | |||
} | |||
} |
@@ -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; | |||
@@ -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<String, FirmBaseDto> localFirmInfoMap = new ConcurrentHashMap<>(); | |||
private static Map<String, Map<String, String>> 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)); | |||
// 广播订阅方式设置。 | |||