1
0
mirror of https://gitee.com/mirrors/Spring-Cloud-Alibaba.git synced 2021-06-26 13:25:11 +08:00
This commit is contained in:
mengxiangrui003 2018-12-11 21:15:18 +08:00
commit 11c45eb5ab
5 changed files with 45 additions and 17 deletions

View File

@ -19,7 +19,7 @@
<properties> <properties>
<sentinel.version>1.3.0-GA</sentinel.version> <sentinel.version>1.3.0-GA</sentinel.version>
<oss.version>3.1.0</oss.version> <oss.version>3.1.0</oss.version>
<nacos.version>0.5.0</nacos.version> <nacos.version>0.6.0</nacos.version>
<acm.version>1.0.8</acm.version> <acm.version>1.0.8</acm.version>
<ans.version>0.1.1</ans.version> <ans.version>0.1.1</ans.version>
<aliyun.sdk.version>4.0.1</aliyun.sdk.version> <aliyun.sdk.version>4.0.1</aliyun.sdk.version>
@ -64,6 +64,7 @@
<version>${acm.version}</version> <version>${acm.version}</version>
</dependency> </dependency>
<!--Nacos-->
<dependency> <dependency>
<groupId>com.alibaba.nacos</groupId> <groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId> <artifactId>nacos-client</artifactId>
@ -175,6 +176,11 @@
<artifactId>spring-cloud-alibaba-nacos-config</artifactId> <artifactId>spring-cloud-alibaba-nacos-config</artifactId>
<version>${project.version}</version> <version>${project.version}</version>
</dependency> </dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-alibaba-nacos-config-server</artifactId>
<version>${project.version}</version>
</dependency>
<dependency> <dependency>
<groupId>org.springframework.cloud</groupId> <groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-alicloud-acm</artifactId> <artifactId>spring-cloud-alicloud-acm</artifactId>
@ -219,6 +225,11 @@
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>${project.version}</version> <version>${project.version}</version>
</dependency> </dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config-server</artifactId>
<version>${project.version}</version>
</dependency>
<dependency> <dependency>
<groupId>org.springframework.cloud</groupId> <groupId>org.springframework.cloud</groupId>

View File

@ -21,7 +21,6 @@ import java.util.Optional;
import javax.annotation.PostConstruct; import javax.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
@ -156,26 +155,22 @@ public class SentinelAutoConfiguration {
} }
@Bean("sentinel-json-converter") @Bean("sentinel-json-converter")
public JsonConverter jsonConverter( public JsonConverter jsonConverter() {
@Qualifier("sentinel-object-mapper") ObjectMapper objectMapper) { return new JsonConverter(objectMapper());
return new JsonConverter(objectMapper);
} }
@Bean("sentinel-object-mapper") private ObjectMapper objectMapper() {
public ObjectMapper objectMapper() {
return new ObjectMapper(); return new ObjectMapper();
} }
@ConditionalOnClass(XmlMapper.class) @ConditionalOnClass(XmlMapper.class)
protected static class SentinelXmlConfiguration { protected static class SentinelXmlConfiguration {
@Bean("sentinel-xml-converter") @Bean("sentinel-xml-converter")
public XmlConverter xmlConverter( public XmlConverter xmlConverter() {
@Qualifier("sentinel-xml-mapper") XmlMapper xmlMapper) { return new XmlConverter(xmlMapper());
return new XmlConverter(xmlMapper);
} }
@Bean("sentinel-xml-mapper") private XmlMapper xmlMapper() {
public XmlMapper xmlMapper() {
return new XmlMapper(); return new XmlMapper();
} }
} }

View File

@ -89,13 +89,14 @@ public class SentinelFeign {
// check fallback and fallbackFactory properties // check fallback and fallbackFactory properties
if (void.class != fallback) { if (void.class != fallback) {
fallbackInstance = getFromContext(name, "fallback", fallback, fallbackInstance = getFromContext(name, "fallback", fallback,
target); target.type());
return new SentinelInvocationHandler(target, dispatch, return new SentinelInvocationHandler(target, dispatch,
new FallbackFactory.Default(fallbackInstance)); new FallbackFactory.Default(fallbackInstance));
} }
if (void.class != fallbackFactory) { if (void.class != fallbackFactory) {
fallbackFactoryInstance = (FallbackFactory) getFromContext(name, fallbackFactoryInstance = (FallbackFactory) getFromContext(name,
"fallbackFactory", fallbackFactory, target); "fallbackFactory", fallbackFactory,
FallbackFactory.class);
return new SentinelInvocationHandler(target, dispatch, return new SentinelInvocationHandler(target, dispatch,
fallbackFactoryInstance); fallbackFactoryInstance);
} }
@ -103,7 +104,7 @@ public class SentinelFeign {
} }
private Object getFromContext(String name, String type, private Object getFromContext(String name, String type,
Class fallbackType, Target target) { Class fallbackType, Class targetType) {
Object fallbackInstance = feignContext.getInstance(name, Object fallbackInstance = feignContext.getInstance(name,
fallbackType); fallbackType);
if (fallbackInstance == null) { if (fallbackInstance == null) {
@ -112,10 +113,10 @@ public class SentinelFeign {
type, fallbackType, name)); type, fallbackType, name));
} }
if (!target.type().isAssignableFrom(fallbackType)) { if (!targetType.isAssignableFrom(fallbackType)) {
throw new IllegalStateException(String.format( throw new IllegalStateException(String.format(
"Incompatible %s instance. Fallback/fallbackFactory of type %s is not assignable to %s for feign client %s", "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; return fallbackInstance;
} }

View File

@ -13,6 +13,7 @@
<description>Spring Cloud Alibaba Starters</description> <description>Spring Cloud Alibaba Starters</description>
<modules> <modules>
<module>spring-cloud-starter-alibaba-nacos-config</module> <module>spring-cloud-starter-alibaba-nacos-config</module>
<module>spring-cloud-starter-alibaba-nacos-config-server</module>
<module>spring-cloud-starter-alibaba-nacos-discovery</module> <module>spring-cloud-starter-alibaba-nacos-discovery</module>
<module>spring-cloud-starter-alibaba-sentinel</module> <module>spring-cloud-starter-alibaba-sentinel</module>
<module>spring-cloud-starter-stream-rocketmq</module> <module>spring-cloud-starter-stream-rocketmq</module>

View File

@ -0,0 +1,20 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba</artifactId>
<version>0.2.1.BUILD-SNAPSHOT</version>
</parent>
<artifactId>spring-cloud-starter-alibaba-nacos-config-server</artifactId>
<name>Spring Cloud Starter Alibaba Nacos Config Server</name>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-alibaba-nacos-config</artifactId>
</dependency>
</dependencies>
</project>