diff --git a/spring-cloud-alibaba-dependencies/pom.xml b/spring-cloud-alibaba-dependencies/pom.xml index 73f35e85..b7e106c6 100644 --- a/spring-cloud-alibaba-dependencies/pom.xml +++ b/spring-cloud-alibaba-dependencies/pom.xml @@ -29,9 +29,6 @@ 2.16.0 4.3.1 2.1.6 - 2.6.5 - 0.2.1.RELEASE - 0.0.2 1.1.0 1.1.8 1.1.0 @@ -210,50 +207,6 @@ ${oss.version} - - - com.alibaba - dubbo-dependencies-bom - ${dubbo.version} - pom - import - - - - - com.alibaba - dubbo - ${dubbo.version} - - - org.springframework - spring-context - - - javax.servlet - servlet-api - - - log4j - log4j - - - - - - - com.alibaba.boot - dubbo-spring-boot-starter - ${dubbo-spring-boot.version} - - - - - com.alibaba - dubbo-registry-nacos - ${dubbo-registry-nacos.version} - - org.springframework.cloud @@ -453,4 +406,4 @@ - + \ No newline at end of file diff --git a/spring-cloud-alibaba-dubbo/pom.xml b/spring-cloud-alibaba-dubbo/pom.xml index 94467a24..84711e8b 100644 --- a/spring-cloud-alibaba-dubbo/pom.xml +++ b/spring-cloud-alibaba-dubbo/pom.xml @@ -13,6 +13,72 @@ spring-cloud-alibaba-dubbo Spring Cloud Alibaba Dubbo + + 2.6.5 + 0.2.1.RELEASE + 0.0.2 + + + + + + + + org.springframework.boot + spring-boot-dependencies + ${spring-boot.version} + pom + import + + + + + com.alibaba + dubbo-dependencies-bom + ${dubbo.version} + pom + import + + + + + com.alibaba + dubbo + ${dubbo.version} + + + org.springframework + spring-context + + + javax.servlet + servlet-api + + + log4j + log4j + + + + + + + com.alibaba.boot + dubbo-spring-boot-starter + ${dubbo-spring-boot.version} + + + + + com.alibaba + dubbo-registry-nacos + ${dubbo-registry-nacos.version} + + + + + + @@ -170,9 +236,9 @@ - - - + + + diff --git a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/http/MutableHttpServerRequest.java b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/http/MutableHttpServerRequest.java index eab82ea9..62240f3b 100644 --- a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/http/MutableHttpServerRequest.java +++ b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/http/MutableHttpServerRequest.java @@ -16,7 +16,6 @@ */ package org.springframework.cloud.alibaba.dubbo.http; -import org.springframework.http.HttpCookie; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpInputMessage; import org.springframework.http.HttpMethod; @@ -29,7 +28,6 @@ import java.net.URI; import java.util.Map; import static org.springframework.cloud.alibaba.dubbo.http.util.HttpUtils.getParameters; -import static org.springframework.cloud.alibaba.dubbo.http.util.HttpUtils.parseCookies; /** * Mutable {@link HttpServerRequest} implementation @@ -48,18 +46,15 @@ public class MutableHttpServerRequest implements HttpServerRequest { private final HttpHeaders httpHeaders; - private final MultiValueMap cookies; - private final HttpInputMessage httpInputMessage; public MutableHttpServerRequest(HttpRequest httpRequest, byte[] body) { this.httpMethod = httpRequest.getMethod(); this.uri = httpRequest.getURI(); this.path = uri.getPath(); - this.httpHeaders = new HttpHeaders(httpRequest.getHeaders()); + this.httpHeaders = httpRequest.getHeaders(); this.queryParams = getParameters(httpRequest); this.httpInputMessage = new ByteArrayHttpInputMessage(body); - this.cookies = parseCookies(httpHeaders); } public MutableHttpServerRequest params(Map params) { diff --git a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/http/matcher/AbstractHttpRequestMatcher.java b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/http/matcher/AbstractHttpRequestMatcher.java index 8b4da7bb..3e16664c 100644 --- a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/http/matcher/AbstractHttpRequestMatcher.java +++ b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/http/matcher/AbstractHttpRequestMatcher.java @@ -16,8 +16,6 @@ */ package org.springframework.cloud.alibaba.dubbo.http.matcher; -import org.springframework.lang.Nullable; - import java.util.Collection; import java.util.Iterator; @@ -45,7 +43,7 @@ public abstract class AbstractHttpRequestMatcher implements HttpRequestMatcher { protected abstract String getToStringInfix(); @Override - public boolean equals(@Nullable Object other) { + public boolean equals(Object other) { if (this == other) { return true; } diff --git a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/http/matcher/AbstractNameValueExpression.java b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/http/matcher/AbstractNameValueExpression.java index a08cee30..695e6792 100644 --- a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/http/matcher/AbstractNameValueExpression.java +++ b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/http/matcher/AbstractNameValueExpression.java @@ -17,7 +17,6 @@ package org.springframework.cloud.alibaba.dubbo.http.matcher; import org.springframework.http.HttpRequest; -import org.springframework.lang.Nullable; import org.springframework.util.ObjectUtils; import org.springframework.util.StringUtils; @@ -75,7 +74,6 @@ abstract class AbstractNameValueExpression implements NameValueExpression } @Override - @Nullable public T getValue() { return this.value; } diff --git a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/http/util/HttpUtils.java b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/http/util/HttpUtils.java index c1b43b6a..9340e86f 100644 --- a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/http/util/HttpUtils.java +++ b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/http/util/HttpUtils.java @@ -16,8 +16,6 @@ */ package org.springframework.cloud.alibaba.dubbo.http.util; -import org.springframework.http.HttpCookie; -import org.springframework.http.HttpHeaders; import org.springframework.http.HttpRequest; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; @@ -33,11 +31,9 @@ import java.util.List; import java.util.Map; import java.util.Set; -import static org.springframework.http.HttpHeaders.COOKIE; import static org.springframework.util.StringUtils.delimitedListToStringArray; import static org.springframework.util.StringUtils.hasText; import static org.springframework.util.StringUtils.trimAllWhitespace; -import static org.springframework.util.StringUtils.trimWhitespace; /** * Http Utilities class @@ -138,30 +134,30 @@ public abstract class HttpUtils { return getParameters(Arrays.asList(pairs)); } - /** - * Parse a read-only {@link MultiValueMap} of {@link HttpCookie} from {@link HttpHeaders} - * - * @param httpHeaders {@link HttpHeaders} - * @return non-null, the key is a cookie name , the value is {@link HttpCookie} - */ - public static MultiValueMap parseCookies(HttpHeaders httpHeaders) { - - String cookie = httpHeaders.getFirst(COOKIE); - - String[] cookieNameAndValues = StringUtils.delimitedListToStringArray(cookie, SEMICOLON); - - MultiValueMap cookies = new LinkedMultiValueMap<>(cookieNameAndValues.length); - - for (String cookeNameAndValue : cookieNameAndValues) { - String[] nameAndValue = delimitedListToStringArray(trimWhitespace(cookeNameAndValue), EQUAL); - String name = nameAndValue[0]; - String value = nameAndValue.length < 2 ? null : nameAndValue[1]; - HttpCookie httpCookie = new HttpCookie(name, value); - cookies.add(name, httpCookie); - } - - return cookies; - } +// /** +// * Parse a read-only {@link MultiValueMap} of {@link HttpCookie} from {@link HttpHeaders} +// * +// * @param httpHeaders {@link HttpHeaders} +// * @return non-null, the key is a cookie name , the value is {@link HttpCookie} +// */ +// public static MultiValueMap parseCookies(HttpHeaders httpHeaders) { +// +// String cookie = httpHeaders.getFirst(COOKIE); +// +// String[] cookieNameAndValues = StringUtils.delimitedListToStringArray(cookie, SEMICOLON); +// +// MultiValueMap cookies = new LinkedMultiValueMap<>(cookieNameAndValues.length); +// +// for (String cookeNameAndValue : cookieNameAndValues) { +// String[] nameAndValue = delimitedListToStringArray(trimWhitespace(cookeNameAndValue), EQUAL); +// String name = nameAndValue[0]; +// String value = nameAndValue.length < 2 ? null : nameAndValue[1]; +// HttpCookie httpCookie = new HttpCookie(name, value); +// cookies.add(name, httpCookie); +// } +// +// return cookies; +// } /** * To the name and value line sets diff --git a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/MethodMetadata.java b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/MethodMetadata.java index 8648f7c1..9dfe6ea4 100644 --- a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/MethodMetadata.java +++ b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/MethodMetadata.java @@ -19,7 +19,6 @@ package org.springframework.cloud.alibaba.dubbo.metadata; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; -import org.apache.commons.lang3.ClassUtils; import java.lang.reflect.Method; import java.lang.reflect.Parameter; @@ -53,7 +52,7 @@ public class MethodMetadata { public MethodMetadata(Method method) { this.name = method.getName(); - this.returnType = ClassUtils.getName(method.getReturnType()); + this.returnType = method.getReturnType().getName(); this.params = initParameters(method); this.method = method; } diff --git a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/resolver/DubboServiceBeanMetadataResolver.java b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/resolver/DubboServiceBeanMetadataResolver.java index 45d53305..e3704dae 100644 --- a/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/resolver/DubboServiceBeanMetadataResolver.java +++ b/spring-cloud-alibaba-dubbo/src/main/java/org/springframework/cloud/alibaba/dubbo/metadata/resolver/DubboServiceBeanMetadataResolver.java @@ -56,7 +56,7 @@ public class DubboServiceBeanMetadataResolver implements BeanClassLoaderAware, S "org.springframework.cloud.openfeign.support.SpringMvcContract", }; - private final ObjectProvider contract; + private final ObjectProvider contractObjectProvider; private ClassLoader classLoader; @@ -65,8 +65,8 @@ public class DubboServiceBeanMetadataResolver implements BeanClassLoaderAware, S */ private Collection contracts; - public DubboServiceBeanMetadataResolver(ObjectProvider contract) { - this.contract = contract; + public DubboServiceBeanMetadataResolver(ObjectProvider contractObjectProvider) { + this.contractObjectProvider = contractObjectProvider; } @Override @@ -75,7 +75,11 @@ public class DubboServiceBeanMetadataResolver implements BeanClassLoaderAware, S LinkedList contracts = new LinkedList<>(); // Add injected Contract if available, for example SpringMvcContract Bean under Spring Cloud Open Feign - contract.ifAvailable(contracts::add); + Contract contract = contractObjectProvider.getIfAvailable(); + + if (contract != null) { + contracts.add(contract); + } Stream.of(CONTRACT_CLASS_NAMES) .filter(this::isClassPresent) // filter the existed classes