From e8cae2c50136736ef13cc14cc88bdeb210a94c29 Mon Sep 17 00:00:00 2001 From: zhanghong <985492783@qq.com> Date: Wed, 10 May 2023 11:40:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9nacos-client=202.2.1=E7=89=88?= =?UTF-8?q?=E6=9C=AC=EF=BC=8C=E9=80=82=E9=85=8D=20(#307)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 +- nacos-spring-context/pom.xml | 31 ++++++++++- .../AnnotationListenerMethodProcessor.java | 6 +- .../config/EventPublishingConfigService.java | 17 ++++++ .../NacosConfigurationPropertiesBinder.java | 2 +- .../factory/DelegatingNamingService.java | 14 ++++- .../util/parse/DefaultYamlConfigParse.java | 4 +- .../nacos/spring/test/MockConfigService.java | 55 ++++++++++++++++++- .../nacos-embedded-webserver/pom.xml | 14 ++++- .../nacos-spring-webmvc-sample/pom.xml | 4 +- nacos-spring-samples/pom.xml | 4 +- pom.xml | 47 +++++++++++----- 12 files changed, 168 insertions(+), 33 deletions(-) diff --git a/.gitignore b/.gitignore index a24fad18..a0d463b2 100644 --- a/.gitignore +++ b/.gitignore @@ -35,4 +35,5 @@ classes /bin/ *.prefs *~ -.extract \ No newline at end of file +.extract +.flattened-pom.xml diff --git a/nacos-spring-context/pom.xml b/nacos-spring-context/pom.xml index 74704f51..b480fdb4 100644 --- a/nacos-spring-context/pom.xml +++ b/nacos-spring-context/pom.xml @@ -5,14 +5,14 @@ nacos-spring-parent com.alibaba.nacos - 1.1.1 + ${revision} ../pom.xml 4.0.0 com.alibaba.nacos nacos-spring-context - 1.1.1 + ${revision} Alibaba Nacos :: Spring :: Context jar @@ -30,6 +30,22 @@ com.alibaba.nacos nacos-client ${nacos.version} + + + org.yaml + snakeyaml + + + com.fasterxml.jackson.core + jackson-core + + + + + + com.fasterxml.jackson.core + jackson-core + 2.13.4 @@ -43,6 +59,7 @@ org.springframework spring-context + provided @@ -72,6 +89,14 @@ org.springframework spring-test + test + + + + ch.qos.logback + logback-classic + 1.2.9 + provided @@ -81,4 +106,4 @@ - \ No newline at end of file + diff --git a/nacos-spring-context/src/main/java/com/alibaba/nacos/spring/context/event/AnnotationListenerMethodProcessor.java b/nacos-spring-context/src/main/java/com/alibaba/nacos/spring/context/event/AnnotationListenerMethodProcessor.java index db6dfa45..6f34f4d9 100644 --- a/nacos-spring-context/src/main/java/com/alibaba/nacos/spring/context/event/AnnotationListenerMethodProcessor.java +++ b/nacos-spring-context/src/main/java/com/alibaba/nacos/spring/context/event/AnnotationListenerMethodProcessor.java @@ -26,8 +26,8 @@ import java.lang.reflect.Method; import java.util.Map; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.aop.support.AopUtils; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationListener; @@ -54,7 +54,7 @@ public abstract class AnnotationListenerMethodProcessor implements ApplicationListener { - protected final Log logger = LogFactory.getLog(getClass()); + protected final Logger logger = LoggerFactory.getLogger(getClass()); private final Class annotationType; public AnnotationListenerMethodProcessor() { diff --git a/nacos-spring-context/src/main/java/com/alibaba/nacos/spring/context/event/config/EventPublishingConfigService.java b/nacos-spring-context/src/main/java/com/alibaba/nacos/spring/context/event/config/EventPublishingConfigService.java index 15384226..2c74320e 100644 --- a/nacos-spring-context/src/main/java/com/alibaba/nacos/spring/context/event/config/EventPublishingConfigService.java +++ b/nacos-spring-context/src/main/java/com/alibaba/nacos/spring/context/event/config/EventPublishingConfigService.java @@ -122,6 +122,23 @@ public boolean publishConfig(String dataId, String group, String content, String return published; } + @Override + public boolean publishConfigCas(String dataId, String group, String content, String casMd5) throws NacosException { + boolean published = configService.publishConfigCas(dataId, group, content, casMd5); + publishEvent(new NacosConfigPublishedEvent(configService, dataId, group, content, + published)); + return published; + } + + @Override + public boolean publishConfigCas(String dataId, String group, String content, String casMd5, String type) + throws NacosException { + boolean published = configService.publishConfigCas(dataId, group, content, casMd5, type); + publishEvent(new NacosConfigPublishedEvent(configService, dataId, group, content, + published)); + return published; + } + @Override public boolean removeConfig(String dataId, String group) throws NacosException { boolean removed = configService.removeConfig(dataId, group); diff --git a/nacos-spring-context/src/main/java/com/alibaba/nacos/spring/context/properties/config/NacosConfigurationPropertiesBinder.java b/nacos-spring-context/src/main/java/com/alibaba/nacos/spring/context/properties/config/NacosConfigurationPropertiesBinder.java index bb5551b7..2250ceac 100644 --- a/nacos-spring-context/src/main/java/com/alibaba/nacos/spring/context/properties/config/NacosConfigurationPropertiesBinder.java +++ b/nacos-spring-context/src/main/java/com/alibaba/nacos/spring/context/properties/config/NacosConfigurationPropertiesBinder.java @@ -103,7 +103,7 @@ protected void bind(final Object bean, final String beanName, environment); final String type; - ConfigType typeEunm = properties.yaml() ? ConfigType.YAML : properties.type(); + ConfigType typeEunm = properties.type(); if (ConfigType.UNSET.equals(typeEunm)) { type = NacosUtils.readFileExtension(dataId); } diff --git a/nacos-spring-context/src/main/java/com/alibaba/nacos/spring/factory/DelegatingNamingService.java b/nacos-spring-context/src/main/java/com/alibaba/nacos/spring/factory/DelegatingNamingService.java index 6c79e04e..d571a31e 100644 --- a/nacos-spring-context/src/main/java/com/alibaba/nacos/spring/factory/DelegatingNamingService.java +++ b/nacos-spring-context/src/main/java/com/alibaba/nacos/spring/factory/DelegatingNamingService.java @@ -86,7 +86,19 @@ public void registerInstance(String serviceName, String groupName, Instance inst throws NacosException { delegate.registerInstance(serviceName, groupName, instance); } - + + @Override + public void batchRegisterInstance(String serviceName, String groupName, List instances) + throws NacosException { + delegate.batchRegisterInstance(serviceName, groupName, instances); + } + + @Override + public void batchDeregisterInstance(String serviceName, String groupName, List instances) + throws NacosException { + delegate.batchDeregisterInstance(serviceName, groupName, instances); + } + @Override public void deregisterInstance(String serviceName, String ip, int port) throws NacosException { diff --git a/nacos-spring-context/src/main/java/com/alibaba/nacos/spring/util/parse/DefaultYamlConfigParse.java b/nacos-spring-context/src/main/java/com/alibaba/nacos/spring/util/parse/DefaultYamlConfigParse.java index d043830d..c09ca845 100644 --- a/nacos-spring-context/src/main/java/com/alibaba/nacos/spring/util/parse/DefaultYamlConfigParse.java +++ b/nacos-spring-context/src/main/java/com/alibaba/nacos/spring/util/parse/DefaultYamlConfigParse.java @@ -215,8 +215,8 @@ protected Map constructMapping(MappingNode node) { } @Override - protected Map createDefaultMap() { - final Map delegate = super.createDefaultMap(); + protected Map createDefaultMap(int initSize) { + final Map delegate = super.createDefaultMap(initSize); return new AbstractMap() { @Override public Object put(Object key, Object value) { diff --git a/nacos-spring-context/src/test/java/com/alibaba/nacos/spring/test/MockConfigService.java b/nacos-spring-context/src/test/java/com/alibaba/nacos/spring/test/MockConfigService.java index 27841d6e..9af62aac 100644 --- a/nacos-spring-context/src/test/java/com/alibaba/nacos/spring/test/MockConfigService.java +++ b/nacos-spring-context/src/test/java/com/alibaba/nacos/spring/test/MockConfigService.java @@ -124,7 +124,60 @@ public void run() { return true; } - + + @Override + public boolean publishConfigCas(String dataId, String group, final String content, String casMd5) throws NacosException { + String key = createKey(dataId, group); + contentCache.put(key, content); + + List listeners = listenersCache.get(key); + if (!CollectionUtils.isEmpty(listeners)) { + for (final Listener listener : listeners) { + Executor executor = listener.getExecutor(); + if (executor != null) { + executor.execute(new Runnable() { + @Override + public void run() { + listener.receiveConfigInfo(content); + } + }); + } + else { + listener.receiveConfigInfo(content); + } + } + } + + return true; + } + + @Override + public boolean publishConfigCas(String dataId, String group, final String content, String casMd5, String type) + throws NacosException { + String key = createKey(dataId, group, type); + contentCache.put(key, content); + + List listeners = listenersCache.get(key); + if (!CollectionUtils.isEmpty(listeners)) { + for (final Listener listener : listeners) { + Executor executor = listener.getExecutor(); + if (executor != null) { + executor.execute(new Runnable() { + @Override + public void run() { + listener.receiveConfigInfo(content); + } + }); + } + else { + listener.receiveConfigInfo(content); + } + } + } + + return true; + } + @Override public boolean removeConfig(String dataId, String group) throws NacosException { String key = createKey(dataId, group); diff --git a/nacos-spring-samples/nacos-embedded-webserver/pom.xml b/nacos-spring-samples/nacos-embedded-webserver/pom.xml index 7735db0b..1acb2d9a 100644 --- a/nacos-spring-samples/nacos-embedded-webserver/pom.xml +++ b/nacos-spring-samples/nacos-embedded-webserver/pom.xml @@ -5,7 +5,7 @@ nacos-spring-parent com.alibaba.nacos - 1.1.1 + ${revision} ../../pom.xml 4.0.0 @@ -29,12 +29,20 @@ com.alibaba.nacos nacos-client + ${nacos.version} - + + + org.slf4j + slf4j-api + ${slf4j.version} + compile + + org.springframework spring-core - \ No newline at end of file + diff --git a/nacos-spring-samples/nacos-spring-webmvc-sample/pom.xml b/nacos-spring-samples/nacos-spring-webmvc-sample/pom.xml index df11aba0..1c305623 100644 --- a/nacos-spring-samples/nacos-spring-webmvc-sample/pom.xml +++ b/nacos-spring-samples/nacos-spring-webmvc-sample/pom.xml @@ -5,7 +5,7 @@ nacos-spring-samples com.alibaba.nacos - 1.1.1 + ${revision} ../pom.xml 4.0.0 @@ -82,4 +82,4 @@ - \ No newline at end of file + diff --git a/nacos-spring-samples/pom.xml b/nacos-spring-samples/pom.xml index 5d9c9626..9f1c6054 100644 --- a/nacos-spring-samples/pom.xml +++ b/nacos-spring-samples/pom.xml @@ -5,7 +5,7 @@ nacos-spring-parent com.alibaba.nacos - 1.1.1 + ${revision} ../pom.xml 4.0.0 @@ -48,4 +48,4 @@ - \ No newline at end of file + diff --git a/pom.xml b/pom.xml index 1d45436c..501b7ceb 100644 --- a/pom.xml +++ b/pom.xml @@ -12,16 +12,15 @@ com.alibaba.nacos nacos-spring-parent - 1.1.1 + ${revision} Alibaba Nacos :: Spring :: POM pom - - + nacos-spring-context nacos-spring-samples - + git@github.com:nacos-group/nacos-spring-project.git scm:git@github.com:nacos-group/nacos-spring-project.git @@ -76,6 +75,7 @@ + 2.0.0 -Dfile.encoding=UTF-8 UTF-8 UTF-8 @@ -89,11 +89,10 @@ file:**/generated-sources/**,**/test/** - 1.4.1 + 2.2.1 - 3.2.18.RELEASE - - 1.19 + 5.2.9.RELEASE + 1.29 3.0.1 @@ -102,6 +101,7 @@ 3.4 1.0.11 + 1.7.7 @@ -121,12 +121,6 @@ ${nacos.version} - - org.yaml - snakeyaml - ${snake.yaml.version} - - com.alibaba.spring @@ -283,6 +277,31 @@ + + org.codehaus.mojo + flatten-maven-plugin + 1.1.0 + + true + resolveCiFriendliesOnly + + + + flatten + process-resources + + flatten + + + + flatten.clean + clean + + clean + + + + org.apache.maven.plugins maven-javadoc-plugin