1
0
mirror of https://gitee.com/mirrors/Spring-Cloud-Alibaba.git synced 2021-06-26 13:25:11 +08:00

Extract acm configuration to bootstrap phase.

# Conflicts:
#	spring-cloud-alicloud-acm/src/main/java/org/springframework/cloud/alicloud/acm/refresh/AcmContextRefresher.java
This commit is contained in:
xiaolongzuo 2018-10-30 16:16:29 +08:00
parent bc43637872
commit 397d6e063a

View File

@ -91,28 +91,31 @@ public class AcmContextRefresher implements ApplicationListener<ApplicationReady
} }
private void registerDiamondListener(final String dataId) { private void registerDiamondListener(final String dataId) {
ConfigChangeListener listener = listenerMap.get(dataId);
ConfigChangeListener listener = listenerMap.computeIfAbsent(dataId, if (listener == null) {
i -> new ConfigChangeListener() { listener = new ConfigChangeListener() {
@Override @Override
public void receiveConfigInfo(String configInfo) { public void receiveConfigInfo(String configInfo) {
String md5 = ""; String md5 = "";
if (!StringUtils.isEmpty(configInfo)) { if (!StringUtils.isEmpty(configInfo)) {
try { try {
MessageDigest md = MessageDigest.getInstance("MD5"); MessageDigest md = MessageDigest.getInstance("MD5");
md5 = new BigInteger(1, md5 = new BigInteger(1,
md.digest(configInfo.getBytes("UTF-8"))) md.digest(configInfo.getBytes("UTF-8"))).toString(16);
.toString(16); }
} catch (NoSuchAlgorithmException
catch (NoSuchAlgorithmException | UnsupportedEncodingException e) {
| UnsupportedEncodingException e) { logger.warn("unable to get md5 for dataId: " + dataId, e);
logger.warn("unable to get md5 for dataId: " + dataId, e);
}
} }
refreshHistory.add(dataId, md5);
contextRefresher.refresh();
} }
}); refreshHistory.add(dataId, md5);
contextRefresher.refresh();
}
};
listenerMap.put(dataId, listener);
}
ConfigService.addListener(dataId, ConfigService.addListener(dataId,
acmIntegrationProperties.getAcmProperties().getGroup(), listener); acmIntegrationProperties.getAcmProperties().getGroup(), listener);
} }