Skip to content

Commit b6c5161

Browse files
authored
bugfix for NacosConfigProccessor (#3903)
1 parent 8eebcad commit b6c5161

File tree

1 file changed

+17
-9
lines changed

1 file changed

+17
-9
lines changed

spring-cloud-alibaba-starters/spring-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/annotation/NacosAnnotationProcessor.java

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -79,12 +79,12 @@ private String getGroupKeyContent(String dataId, String group) throws Exception
7979
}
8080
synchronized (this) {
8181
if (!groupKeyCache.containsKey(GroupKey.getKey(dataId, group))) {
82-
String content = nacosConfigManager.getConfigService().getConfig(dataId, group, 5000);
82+
String content = getNacosConfigManager().getConfigService().getConfig(dataId, group, 5000);
8383
groupKeyCache.put(GroupKey.getKey(dataId, group), new AtomicReference<>(content));
8484

8585
log.info("[Nacos Config] Listening config for annotation: dataId={}, group={}", dataId,
8686
group);
87-
nacosConfigManager.getConfigService().addListener(dataId, group, new AbstractListener() {
87+
getNacosConfigManager().getConfigService().addListener(dataId, group, new AbstractListener() {
8888
@Override
8989
public void receiveConfigInfo(String s) {
9090
groupKeyCache.get(GroupKey.getKey(dataId, group)).set(s);
@@ -105,7 +105,8 @@ public String toString() {
105105

106106
@Override
107107
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
108-
return BeanPostProcessor.super.postProcessBeforeInitialization(bean, beanName);
108+
BeanPostProcessor.super.postProcessBeforeInitialization(bean, beanName);
109+
return bean;
109110
}
110111

111112
@Override
@@ -223,7 +224,7 @@ public String toString() {
223224
};
224225
}
225226

226-
nacosConfigManager.getConfigService()
227+
getNacosConfigManager().getConfigService()
227228
.addListener(dataId, group, listener);
228229
targetListenerMap.put(refreshTargetKey, listener);
229230

@@ -270,7 +271,7 @@ public String toString() {
270271
}
271272
};
272273
nacosPropertiesKeyListener.setLastContent(getGroupKeyContent(dataId, group));
273-
nacosConfigManager.getConfigService().addListener(dataId, group,
274+
getNacosConfigManager().getConfigService().addListener(dataId, group,
274275
nacosPropertiesKeyListener);
275276
targetListenerMap.put(refreshTargetKey, nacosPropertiesKeyListener);
276277
}
@@ -382,7 +383,7 @@ public String toString() {
382383
};
383384
}
384385

385-
nacosConfigManager.getConfigService().addListener(dataId, group, listener);
386+
getNacosConfigManager().getConfigService().addListener(dataId, group, listener);
386387
targetListenerMap.put(refreshTargetKey, listener);
387388
if (annotation.initNotify() && org.springframework.util.StringUtils.hasText(configInfo)) {
388389
try {
@@ -519,7 +520,7 @@ public String toString() {
519520
};
520521
}
521522

522-
nacosConfigManager.getConfigService()
523+
getNacosConfigManager().getConfigService()
523524
.addListener(dataId, group, listener);
524525
targetListenerMap.put(refreshTargetKey, listener);
525526

@@ -604,7 +605,7 @@ public String toString() {
604605
};
605606
}
606607

607-
nacosConfigManager.getConfigService()
608+
getNacosConfigManager().getConfigService()
608609
.addListener(dataId, group, listener);
609610
targetListenerMap.put(refreshTargetKey, listener);
610611
return true;
@@ -739,7 +740,14 @@ private void handleMethodAnnotation(final Object bean, String beanName, final Me
739740
@Override
740741
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
741742
this.applicationContext = applicationContext;
742-
nacosConfigManager = this.applicationContext.getBean(NacosConfigManager.class);
743+
}
744+
745+
private NacosConfigManager getNacosConfigManager() {
746+
if (this.nacosConfigManager == null) {
747+
nacosConfigManager = this.applicationContext.getBean(NacosConfigManager.class);
748+
749+
}
750+
return nacosConfigManager;
743751
}
744752

745753
private static String[] getNullPropertyNames(Object source) {

0 commit comments

Comments
 (0)