From 62c0326090be1e0a53c2dd58219ede7b0c77212c Mon Sep 17 00:00:00 2001 From: fangjian0423 Date: Tue, 11 Dec 2018 17:08:13 +0800 Subject: [PATCH 1/3] fixes #151 --- .../cloud/alibaba/sentinel/feign/SentinelFeign.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/spring-cloud-alibaba-sentinel/src/main/java/org/springframework/cloud/alibaba/sentinel/feign/SentinelFeign.java b/spring-cloud-alibaba-sentinel/src/main/java/org/springframework/cloud/alibaba/sentinel/feign/SentinelFeign.java index 5da3c1bc..863c0d4a 100644 --- a/spring-cloud-alibaba-sentinel/src/main/java/org/springframework/cloud/alibaba/sentinel/feign/SentinelFeign.java +++ b/spring-cloud-alibaba-sentinel/src/main/java/org/springframework/cloud/alibaba/sentinel/feign/SentinelFeign.java @@ -89,13 +89,14 @@ public class SentinelFeign { // check fallback and fallbackFactory properties if (void.class != fallback) { fallbackInstance = getFromContext(name, "fallback", fallback, - target); + target.type()); return new SentinelInvocationHandler(target, dispatch, new FallbackFactory.Default(fallbackInstance)); } if (void.class != fallbackFactory) { fallbackFactoryInstance = (FallbackFactory) getFromContext(name, - "fallbackFactory", fallbackFactory, target); + "fallbackFactory", fallbackFactory, + FallbackFactory.class); return new SentinelInvocationHandler(target, dispatch, fallbackFactoryInstance); } @@ -103,7 +104,7 @@ public class SentinelFeign { } private Object getFromContext(String name, String type, - Class fallbackType, Target target) { + Class fallbackType, Class targetType) { Object fallbackInstance = feignContext.getInstance(name, fallbackType); if (fallbackInstance == null) { @@ -112,10 +113,10 @@ public class SentinelFeign { type, fallbackType, name)); } - if (!target.type().isAssignableFrom(fallbackType)) { + if (!targetType.isAssignableFrom(fallbackType)) { throw new IllegalStateException(String.format( "Incompatible %s instance. Fallback/fallbackFactory of type %s is not assignable to %s for feign client %s", - type, fallbackType, target.type(), name)); + type, fallbackType, targetType, name)); } return fallbackInstance; } From 098b10316692b8bc31b0ba4a8c7dd7298b490bd1 Mon Sep 17 00:00:00 2001 From: fangjian0423 Date: Tue, 11 Dec 2018 17:11:22 +0800 Subject: [PATCH 2/3] fixes #150 --- .../custom/SentinelAutoConfiguration.java | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/spring-cloud-alibaba-sentinel/src/main/java/org/springframework/cloud/alibaba/sentinel/custom/SentinelAutoConfiguration.java b/spring-cloud-alibaba-sentinel/src/main/java/org/springframework/cloud/alibaba/sentinel/custom/SentinelAutoConfiguration.java index a651c8f8..53347f7b 100644 --- a/spring-cloud-alibaba-sentinel/src/main/java/org/springframework/cloud/alibaba/sentinel/custom/SentinelAutoConfiguration.java +++ b/spring-cloud-alibaba-sentinel/src/main/java/org/springframework/cloud/alibaba/sentinel/custom/SentinelAutoConfiguration.java @@ -21,7 +21,6 @@ import java.util.Optional; import javax.annotation.PostConstruct; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; @@ -156,26 +155,22 @@ public class SentinelAutoConfiguration { } @Bean("sentinel-json-converter") - public JsonConverter jsonConverter( - @Qualifier("sentinel-object-mapper") ObjectMapper objectMapper) { - return new JsonConverter(objectMapper); + public JsonConverter jsonConverter() { + return new JsonConverter(objectMapper()); } - @Bean("sentinel-object-mapper") - public ObjectMapper objectMapper() { + private ObjectMapper objectMapper() { return new ObjectMapper(); } @ConditionalOnClass(XmlMapper.class) protected static class SentinelXmlConfiguration { @Bean("sentinel-xml-converter") - public XmlConverter xmlConverter( - @Qualifier("sentinel-xml-mapper") XmlMapper xmlMapper) { - return new XmlConverter(xmlMapper); + public XmlConverter xmlConverter() { + return new XmlConverter(xmlMapper()); } - @Bean("sentinel-xml-mapper") - public XmlMapper xmlMapper() { + private XmlMapper xmlMapper() { return new XmlMapper(); } } From c26da5643aab6ef35bbba4787237a88fe98968bf Mon Sep 17 00:00:00 2001 From: flystar32 Date: Tue, 11 Dec 2018 20:02:43 +0800 Subject: [PATCH 3/3] Add spring-cloud-alibaba-nacos-config-server module, close #34 --- spring-cloud-alibaba-dependencies/pom.xml | 13 +++++++++++- spring-cloud-starter-alibaba/pom.xml | 1 + .../pom.xml | 20 +++++++++++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config-server/pom.xml diff --git a/spring-cloud-alibaba-dependencies/pom.xml b/spring-cloud-alibaba-dependencies/pom.xml index edbcde12..b966c312 100644 --- a/spring-cloud-alibaba-dependencies/pom.xml +++ b/spring-cloud-alibaba-dependencies/pom.xml @@ -19,7 +19,7 @@ 1.3.0-GA 3.1.0 - 0.5.0 + 0.6.0 1.0.8 0.1.1 4.0.1 @@ -64,6 +64,7 @@ ${acm.version} + com.alibaba.nacos nacos-client @@ -175,6 +176,11 @@ spring-cloud-alibaba-nacos-config ${project.version} + + org.springframework.cloud + spring-cloud-alibaba-nacos-config-server + ${project.version} + org.springframework.cloud spring-cloud-alicloud-acm @@ -219,6 +225,11 @@ spring-cloud-starter-alibaba-nacos-config ${project.version} + + org.springframework.cloud + spring-cloud-starter-alibaba-nacos-config-server + ${project.version} + org.springframework.cloud diff --git a/spring-cloud-starter-alibaba/pom.xml b/spring-cloud-starter-alibaba/pom.xml index 8726971a..404431f3 100644 --- a/spring-cloud-starter-alibaba/pom.xml +++ b/spring-cloud-starter-alibaba/pom.xml @@ -13,6 +13,7 @@ Spring Cloud Alibaba Starters spring-cloud-starter-alibaba-nacos-config + spring-cloud-starter-alibaba-nacos-config-server spring-cloud-starter-alibaba-nacos-discovery spring-cloud-starter-alibaba-sentinel spring-cloud-starter-stream-rocketmq diff --git a/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config-server/pom.xml b/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config-server/pom.xml new file mode 100644 index 00000000..f5dae039 --- /dev/null +++ b/spring-cloud-starter-alibaba/spring-cloud-starter-alibaba-nacos-config-server/pom.xml @@ -0,0 +1,20 @@ + + 4.0.0 + + + org.springframework.cloud + spring-cloud-starter-alibaba + 0.2.1.BUILD-SNAPSHOT + + spring-cloud-starter-alibaba-nacos-config-server + Spring Cloud Starter Alibaba Nacos Config Server + + + + org.springframework.cloud + spring-cloud-alibaba-nacos-config + + + +