mirror of
https://gitee.com/mirrors/Spring-Cloud-Alibaba.git
synced 2021-06-26 13:25:11 +08:00
Merge pull request #406 from mercyblitz/master
Use Apache Dubbo 2.7.x as Spring Cloud Infrastructure #377
This commit is contained in:
commit
c6a31dac63
@ -14,9 +14,7 @@
|
|||||||
<name>Spring Cloud Alibaba Dubbo</name>
|
<name>Spring Cloud Alibaba Dubbo</name>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<dubbo.version>2.6.5</dubbo.version>
|
<dubbo.version>2.7.0</dubbo.version>
|
||||||
<dubbo-spring-boot.version>0.2.1.RELEASE</dubbo-spring-boot.version>
|
|
||||||
<dubbo-registry-nacos.version>0.0.2</dubbo-registry-nacos.version>
|
|
||||||
<spring-cloud-zookeeper.version>2.1.0.RELEASE</spring-cloud-zookeeper.version>
|
<spring-cloud-zookeeper.version>2.1.0.RELEASE</spring-cloud-zookeeper.version>
|
||||||
<spring-cloud-consul.version>2.1.0.RELEASE</spring-cloud-consul.version>
|
<spring-cloud-consul.version>2.1.0.RELEASE</spring-cloud-consul.version>
|
||||||
<curator.version>4.0.1</curator.version>
|
<curator.version>4.0.1</curator.version>
|
||||||
@ -36,7 +34,7 @@
|
|||||||
|
|
||||||
<!-- Apache Dubbo dependencies-->
|
<!-- Apache Dubbo dependencies-->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.alibaba</groupId>
|
<groupId>org.apache.dubbo</groupId>
|
||||||
<artifactId>dubbo-dependencies-bom</artifactId>
|
<artifactId>dubbo-dependencies-bom</artifactId>
|
||||||
<version>${dubbo.version}</version>
|
<version>${dubbo.version}</version>
|
||||||
<type>pom</type>
|
<type>pom</type>
|
||||||
@ -157,15 +155,32 @@
|
|||||||
<optional>true</optional>
|
<optional>true</optional>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- Dubbo Spring Boot Starter -->
|
<!-- Dubbo -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.alibaba.boot</groupId>
|
<groupId>org.apache.dubbo</groupId>
|
||||||
<artifactId>dubbo-spring-boot-starter</artifactId>
|
<artifactId>dubbo</artifactId>
|
||||||
|
<version>${dubbo.version}</version>
|
||||||
|
<exclusions>
|
||||||
|
<exclusion>
|
||||||
|
<groupId>org.springframework</groupId>
|
||||||
|
<artifactId>spring</artifactId>
|
||||||
|
</exclusion>
|
||||||
|
<exclusion>
|
||||||
|
<groupId>javax.servlet</groupId>
|
||||||
|
<artifactId>servlet-api</artifactId>
|
||||||
|
</exclusion>
|
||||||
|
<exclusion>
|
||||||
|
<groupId>log4j</groupId>
|
||||||
|
<artifactId>log4j</artifactId>
|
||||||
|
</exclusion>
|
||||||
|
</exclusions>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<!-- Dubbo Spring Boot Starter -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.alibaba</groupId>
|
<groupId>org.apache.dubbo</groupId>
|
||||||
<artifactId>dubbo</artifactId>
|
<artifactId>dubbo-spring-boot-starter</artifactId>
|
||||||
|
<version>${dubbo.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- Netty -->
|
<!-- Netty -->
|
||||||
|
@ -16,9 +16,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.springframework.cloud.alibaba.dubbo.autoconfigure;
|
package org.springframework.cloud.alibaba.dubbo.autoconfigure;
|
||||||
|
|
||||||
import com.alibaba.dubbo.config.ProtocolConfig;
|
import org.apache.dubbo.config.ProtocolConfig;
|
||||||
import com.alibaba.dubbo.config.spring.context.annotation.DubboComponentScan;
|
import org.apache.dubbo.config.spring.context.annotation.DubboComponentScan;
|
||||||
|
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||||
import org.springframework.cloud.alibaba.dubbo.metadata.repository.DubboServiceMetadataRepository;
|
import org.springframework.cloud.alibaba.dubbo.metadata.repository.DubboServiceMetadataRepository;
|
||||||
import org.springframework.cloud.alibaba.dubbo.service.DubboGenericServiceFactory;
|
import org.springframework.cloud.alibaba.dubbo.service.DubboGenericServiceFactory;
|
||||||
|
@ -16,9 +16,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.springframework.cloud.alibaba.dubbo.autoconfigure;
|
package org.springframework.cloud.alibaba.dubbo.autoconfigure;
|
||||||
|
|
||||||
import com.alibaba.dubbo.config.spring.ServiceBean;
|
import org.apache.dubbo.config.spring.ServiceBean;
|
||||||
import com.alibaba.dubbo.config.spring.context.event.ServiceBeanExportedEvent;
|
import org.apache.dubbo.config.spring.context.event.ServiceBeanExportedEvent;
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
|
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
|
||||||
|
@ -16,7 +16,10 @@
|
|||||||
*/
|
*/
|
||||||
package org.springframework.cloud.alibaba.dubbo.autoconfigure;
|
package org.springframework.cloud.alibaba.dubbo.autoconfigure;
|
||||||
|
|
||||||
|
import org.apache.dubbo.common.utils.Assert;
|
||||||
|
import org.apache.dubbo.config.spring.util.PropertySourcesUtils;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||||
|
import org.springframework.boot.context.properties.source.ConfigurationPropertySources;
|
||||||
import org.springframework.cloud.alibaba.dubbo.service.DubboGenericServiceExecutionContextFactory;
|
import org.springframework.cloud.alibaba.dubbo.service.DubboGenericServiceExecutionContextFactory;
|
||||||
import org.springframework.cloud.alibaba.dubbo.service.DubboGenericServiceFactory;
|
import org.springframework.cloud.alibaba.dubbo.service.DubboGenericServiceFactory;
|
||||||
import org.springframework.cloud.alibaba.dubbo.service.parameter.PathVariableServiceParameterResolver;
|
import org.springframework.cloud.alibaba.dubbo.service.parameter.PathVariableServiceParameterResolver;
|
||||||
@ -26,6 +29,18 @@ import org.springframework.cloud.alibaba.dubbo.service.parameter.RequestParamSer
|
|||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.context.annotation.Import;
|
import org.springframework.context.annotation.Import;
|
||||||
|
import org.springframework.context.annotation.Primary;
|
||||||
|
import org.springframework.core.env.AbstractEnvironment;
|
||||||
|
import org.springframework.core.env.ConfigurableEnvironment;
|
||||||
|
import org.springframework.core.env.MapPropertySource;
|
||||||
|
import org.springframework.core.env.MutablePropertySources;
|
||||||
|
import org.springframework.core.env.PropertyResolver;
|
||||||
|
import org.springframework.lang.Nullable;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import static org.apache.dubbo.spring.boot.util.DubboUtils.BASE_PACKAGES_PROPERTY_RESOLVER_BEAN_NAME;
|
||||||
|
import static org.apache.dubbo.spring.boot.util.DubboUtils.DUBBO_SCAN_PREFIX;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Spring Boot Auto-Configuration class for Dubbo Service
|
* Spring Boot Auto-Configuration class for Dubbo Service
|
||||||
@ -51,4 +66,82 @@ public class DubboServiceAutoConfiguration {
|
|||||||
})
|
})
|
||||||
static class ParameterResolversConfiguration {
|
static class ParameterResolversConfiguration {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bugfix code for an issue : https://github.com/apache/incubator-dubbo-spring-boot-project/issues/459
|
||||||
|
*
|
||||||
|
* @param environment {@link ConfigurableEnvironment}
|
||||||
|
* @return a Bean of {@link PropertyResolver}
|
||||||
|
*/
|
||||||
|
@Primary
|
||||||
|
@Bean(name = BASE_PACKAGES_PROPERTY_RESOLVER_BEAN_NAME)
|
||||||
|
public PropertyResolver dubboScanBasePackagesPropertyResolver(ConfigurableEnvironment environment) {
|
||||||
|
ConfigurableEnvironment propertyResolver = new AbstractEnvironment() {
|
||||||
|
protected void customizePropertySources(MutablePropertySources propertySources) {
|
||||||
|
Map<String, Object> dubboScanProperties = PropertySourcesUtils.getSubProperties(environment, DUBBO_SCAN_PREFIX);
|
||||||
|
propertySources.addLast(new MapPropertySource("dubboScanProperties", dubboScanProperties));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
ConfigurationPropertySources.attach(propertyResolver);
|
||||||
|
return new DelegatingPropertyResolver(propertyResolver);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private static class DelegatingPropertyResolver implements PropertyResolver {
|
||||||
|
|
||||||
|
private final PropertyResolver delegate;
|
||||||
|
|
||||||
|
DelegatingPropertyResolver(PropertyResolver delegate) {
|
||||||
|
Assert.notNull(delegate, "The delegate of PropertyResolver must not be null");
|
||||||
|
this.delegate = delegate;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean containsProperty(String key) {
|
||||||
|
return delegate.containsProperty(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Nullable
|
||||||
|
public String getProperty(String key) {
|
||||||
|
return delegate.getProperty(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getProperty(String key, String defaultValue) {
|
||||||
|
return delegate.getProperty(key, defaultValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Nullable
|
||||||
|
public <T> T getProperty(String key, Class<T> targetType) {
|
||||||
|
return delegate.getProperty(key, targetType);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public <T> T getProperty(String key, Class<T> targetType, T defaultValue) {
|
||||||
|
return delegate.getProperty(key, targetType, defaultValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getRequiredProperty(String key) throws IllegalStateException {
|
||||||
|
return delegate.getRequiredProperty(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public <T> T getRequiredProperty(String key, Class<T> targetType) throws IllegalStateException {
|
||||||
|
return delegate.getRequiredProperty(key, targetType);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String resolvePlaceholders(String text) {
|
||||||
|
return delegate.resolvePlaceholders(text);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String resolveRequiredPlaceholders(String text) throws IllegalArgumentException {
|
||||||
|
return delegate.resolveRequiredPlaceholders(text);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
@ -16,8 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.springframework.cloud.alibaba.dubbo.client.loadbalancer;
|
package org.springframework.cloud.alibaba.dubbo.client.loadbalancer;
|
||||||
|
|
||||||
import com.alibaba.dubbo.rpc.service.GenericException;
|
import org.apache.dubbo.rpc.service.GenericException;
|
||||||
|
|
||||||
import org.springframework.http.HttpHeaders;
|
import org.springframework.http.HttpHeaders;
|
||||||
import org.springframework.http.HttpStatus;
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.http.client.ClientHttpResponse;
|
import org.springframework.http.client.ClientHttpResponse;
|
||||||
|
@ -16,8 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.springframework.cloud.alibaba.dubbo.client.loadbalancer;
|
package org.springframework.cloud.alibaba.dubbo.client.loadbalancer;
|
||||||
|
|
||||||
import com.alibaba.dubbo.rpc.service.GenericException;
|
import org.apache.dubbo.rpc.service.GenericException;
|
||||||
|
|
||||||
import org.springframework.cloud.alibaba.dubbo.http.converter.HttpMessageConverterHolder;
|
import org.springframework.cloud.alibaba.dubbo.http.converter.HttpMessageConverterHolder;
|
||||||
import org.springframework.cloud.alibaba.dubbo.http.util.HttpMessageConverterResolver;
|
import org.springframework.cloud.alibaba.dubbo.http.util.HttpMessageConverterResolver;
|
||||||
import org.springframework.cloud.alibaba.dubbo.metadata.RequestMetadata;
|
import org.springframework.cloud.alibaba.dubbo.metadata.RequestMetadata;
|
||||||
|
@ -16,9 +16,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.springframework.cloud.alibaba.dubbo.client.loadbalancer;
|
package org.springframework.cloud.alibaba.dubbo.client.loadbalancer;
|
||||||
|
|
||||||
import com.alibaba.dubbo.rpc.service.GenericException;
|
import org.apache.dubbo.rpc.service.GenericException;
|
||||||
import com.alibaba.dubbo.rpc.service.GenericService;
|
import org.apache.dubbo.rpc.service.GenericService;
|
||||||
|
|
||||||
import org.springframework.cloud.alibaba.dubbo.http.MutableHttpServerRequest;
|
import org.springframework.cloud.alibaba.dubbo.http.MutableHttpServerRequest;
|
||||||
import org.springframework.cloud.alibaba.dubbo.metadata.DubboServiceMetadata;
|
import org.springframework.cloud.alibaba.dubbo.metadata.DubboServiceMetadata;
|
||||||
import org.springframework.cloud.alibaba.dubbo.metadata.DubboTransportedMetadata;
|
import org.springframework.cloud.alibaba.dubbo.metadata.DubboTransportedMetadata;
|
||||||
|
@ -16,8 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.springframework.cloud.alibaba.dubbo.http;
|
package org.springframework.cloud.alibaba.dubbo.http;
|
||||||
|
|
||||||
import com.alibaba.dubbo.common.io.UnsafeByteArrayInputStream;
|
import org.apache.dubbo.common.io.UnsafeByteArrayInputStream;
|
||||||
|
|
||||||
import org.springframework.http.HttpHeaders;
|
import org.springframework.http.HttpHeaders;
|
||||||
import org.springframework.http.HttpInputMessage;
|
import org.springframework.http.HttpInputMessage;
|
||||||
|
|
||||||
|
@ -16,13 +16,12 @@
|
|||||||
*/
|
*/
|
||||||
package org.springframework.cloud.alibaba.dubbo.metadata.resolver;
|
package org.springframework.cloud.alibaba.dubbo.metadata.resolver;
|
||||||
|
|
||||||
import com.alibaba.dubbo.common.URL;
|
|
||||||
import com.alibaba.dubbo.config.spring.ServiceBean;
|
|
||||||
|
|
||||||
import feign.Contract;
|
import feign.Contract;
|
||||||
import feign.Feign;
|
import feign.Feign;
|
||||||
import feign.MethodMetadata;
|
import feign.MethodMetadata;
|
||||||
import feign.Util;
|
import feign.Util;
|
||||||
|
import org.apache.dubbo.common.URL;
|
||||||
|
import org.apache.dubbo.config.spring.ServiceBean;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.beans.factory.BeanClassLoaderAware;
|
import org.springframework.beans.factory.BeanClassLoaderAware;
|
||||||
import org.springframework.beans.factory.ObjectProvider;
|
import org.springframework.beans.factory.ObjectProvider;
|
||||||
|
@ -16,8 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.springframework.cloud.alibaba.dubbo.metadata.resolver;
|
package org.springframework.cloud.alibaba.dubbo.metadata.resolver;
|
||||||
|
|
||||||
import com.alibaba.dubbo.config.spring.ServiceBean;
|
import org.apache.dubbo.config.spring.ServiceBean;
|
||||||
|
|
||||||
import org.springframework.cloud.alibaba.dubbo.metadata.RestMethodMetadata;
|
import org.springframework.cloud.alibaba.dubbo.metadata.RestMethodMetadata;
|
||||||
import org.springframework.cloud.alibaba.dubbo.metadata.ServiceRestMetadata;
|
import org.springframework.cloud.alibaba.dubbo.metadata.ServiceRestMetadata;
|
||||||
|
|
||||||
|
@ -16,8 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.springframework.cloud.alibaba.dubbo.openfeign;
|
package org.springframework.cloud.alibaba.dubbo.openfeign;
|
||||||
|
|
||||||
import com.alibaba.dubbo.rpc.service.GenericService;
|
import org.apache.dubbo.rpc.service.GenericService;
|
||||||
|
|
||||||
import org.springframework.cloud.alibaba.dubbo.metadata.RestMethodMetadata;
|
import org.springframework.cloud.alibaba.dubbo.metadata.RestMethodMetadata;
|
||||||
import org.springframework.cloud.alibaba.dubbo.service.DubboGenericServiceExecutionContext;
|
import org.springframework.cloud.alibaba.dubbo.service.DubboGenericServiceExecutionContext;
|
||||||
import org.springframework.cloud.alibaba.dubbo.service.DubboGenericServiceExecutionContextFactory;
|
import org.springframework.cloud.alibaba.dubbo.service.DubboGenericServiceExecutionContextFactory;
|
||||||
|
@ -16,8 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.springframework.cloud.alibaba.dubbo.openfeign;
|
package org.springframework.cloud.alibaba.dubbo.openfeign;
|
||||||
|
|
||||||
import com.alibaba.dubbo.rpc.service.GenericService;
|
import org.apache.dubbo.rpc.service.GenericService;
|
||||||
|
|
||||||
import org.springframework.cloud.alibaba.dubbo.metadata.RestMethodMetadata;
|
import org.springframework.cloud.alibaba.dubbo.metadata.RestMethodMetadata;
|
||||||
|
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
|
@ -17,10 +17,9 @@
|
|||||||
package org.springframework.cloud.alibaba.dubbo.openfeign;
|
package org.springframework.cloud.alibaba.dubbo.openfeign;
|
||||||
|
|
||||||
|
|
||||||
import com.alibaba.dubbo.rpc.service.GenericService;
|
|
||||||
|
|
||||||
import feign.Contract;
|
import feign.Contract;
|
||||||
import feign.Target;
|
import feign.Target;
|
||||||
|
import org.apache.dubbo.rpc.service.GenericService;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.cloud.alibaba.dubbo.annotation.DubboTransported;
|
import org.springframework.cloud.alibaba.dubbo.annotation.DubboTransported;
|
||||||
|
@ -16,10 +16,9 @@
|
|||||||
*/
|
*/
|
||||||
package org.springframework.cloud.alibaba.dubbo.registry;
|
package org.springframework.cloud.alibaba.dubbo.registry;
|
||||||
|
|
||||||
import com.alibaba.dubbo.common.Constants;
|
import org.apache.dubbo.common.Constants;
|
||||||
import com.alibaba.dubbo.common.URL;
|
import org.apache.dubbo.common.URL;
|
||||||
import com.alibaba.dubbo.common.utils.NetUtils;
|
import org.apache.dubbo.common.utils.NetUtils;
|
||||||
|
|
||||||
import org.springframework.cloud.client.DefaultServiceInstance;
|
import org.springframework.cloud.client.DefaultServiceInstance;
|
||||||
import org.springframework.cloud.client.ServiceInstance;
|
import org.springframework.cloud.client.ServiceInstance;
|
||||||
import org.springframework.cloud.client.serviceregistry.Registration;
|
import org.springframework.cloud.client.serviceregistry.Registration;
|
||||||
|
@ -16,8 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.springframework.cloud.alibaba.dubbo.registry;
|
package org.springframework.cloud.alibaba.dubbo.registry;
|
||||||
|
|
||||||
import com.alibaba.dubbo.common.URL;
|
import org.apache.dubbo.common.URL;
|
||||||
|
|
||||||
import org.springframework.cloud.client.serviceregistry.Registration;
|
import org.springframework.cloud.client.serviceregistry.Registration;
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
|
|
||||||
|
@ -16,8 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.springframework.cloud.alibaba.dubbo.registry;
|
package org.springframework.cloud.alibaba.dubbo.registry;
|
||||||
|
|
||||||
import com.alibaba.dubbo.common.URL;
|
import org.apache.dubbo.common.URL;
|
||||||
|
|
||||||
import org.springframework.cloud.client.serviceregistry.Registration;
|
import org.springframework.cloud.client.serviceregistry.Registration;
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
|
|
||||||
|
@ -16,14 +16,13 @@
|
|||||||
*/
|
*/
|
||||||
package org.springframework.cloud.alibaba.dubbo.registry;
|
package org.springframework.cloud.alibaba.dubbo.registry;
|
||||||
|
|
||||||
import com.alibaba.dubbo.common.Constants;
|
import org.apache.dubbo.common.Constants;
|
||||||
import com.alibaba.dubbo.common.URL;
|
import org.apache.dubbo.common.URL;
|
||||||
import com.alibaba.dubbo.common.utils.NamedThreadFactory;
|
import org.apache.dubbo.common.utils.NamedThreadFactory;
|
||||||
import com.alibaba.dubbo.common.utils.UrlUtils;
|
import org.apache.dubbo.common.utils.UrlUtils;
|
||||||
import com.alibaba.dubbo.registry.NotifyListener;
|
import org.apache.dubbo.registry.NotifyListener;
|
||||||
import com.alibaba.dubbo.registry.RegistryFactory;
|
import org.apache.dubbo.registry.RegistryFactory;
|
||||||
import com.alibaba.dubbo.registry.support.FailbackRegistry;
|
import org.apache.dubbo.registry.support.FailbackRegistry;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.cloud.client.ServiceInstance;
|
import org.springframework.cloud.client.ServiceInstance;
|
||||||
@ -205,21 +204,21 @@ public class SpringCloudRegistry extends FailbackRegistry {
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void doRegister(URL url) {
|
public void doRegister(URL url) {
|
||||||
final String serviceName = getServiceName(url);
|
final String serviceName = getServiceName(url);
|
||||||
final Registration registration = createRegistration(serviceName, url);
|
final Registration registration = createRegistration(serviceName, url);
|
||||||
serviceRegistry.register(registration);
|
serviceRegistry.register(registration);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void doUnregister(URL url) {
|
public void doUnregister(URL url) {
|
||||||
final String serviceName = getServiceName(url);
|
final String serviceName = getServiceName(url);
|
||||||
final Registration registration = createRegistration(serviceName, url);
|
final Registration registration = createRegistration(serviceName, url);
|
||||||
this.serviceRegistry.deregister(registration);
|
this.serviceRegistry.deregister(registration);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void doSubscribe(URL url, NotifyListener listener) {
|
public void doSubscribe(URL url, NotifyListener listener) {
|
||||||
List<String> serviceNames = getServiceNames(url, listener);
|
List<String> serviceNames = getServiceNames(url, listener);
|
||||||
doSubscribe(url, listener, serviceNames);
|
doSubscribe(url, listener, serviceNames);
|
||||||
this.registeredServicesLookupScheduler.scheduleAtFixedRate(new Runnable() {
|
this.registeredServicesLookupScheduler.scheduleAtFixedRate(new Runnable() {
|
||||||
@ -231,7 +230,7 @@ public class SpringCloudRegistry extends FailbackRegistry {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void doUnsubscribe(URL url, NotifyListener listener) {
|
public void doUnsubscribe(URL url, NotifyListener listener) {
|
||||||
if (isAdminProtocol(url)) {
|
if (isAdminProtocol(url)) {
|
||||||
shutdownServiceNamesLookup();
|
shutdownServiceNamesLookup();
|
||||||
}
|
}
|
||||||
|
@ -16,10 +16,9 @@
|
|||||||
*/
|
*/
|
||||||
package org.springframework.cloud.alibaba.dubbo.registry;
|
package org.springframework.cloud.alibaba.dubbo.registry;
|
||||||
|
|
||||||
import com.alibaba.dubbo.common.URL;
|
import org.apache.dubbo.common.URL;
|
||||||
import com.alibaba.dubbo.registry.Registry;
|
import org.apache.dubbo.registry.Registry;
|
||||||
import com.alibaba.dubbo.registry.RegistryFactory;
|
import org.apache.dubbo.registry.RegistryFactory;
|
||||||
|
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -16,8 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.springframework.cloud.alibaba.dubbo.registry.apache.zookeeper;
|
package org.springframework.cloud.alibaba.dubbo.registry.apache.zookeeper;
|
||||||
|
|
||||||
import com.alibaba.dubbo.common.URL;
|
import org.apache.dubbo.common.URL;
|
||||||
|
|
||||||
import org.springframework.cloud.alibaba.dubbo.registry.AbstractRegistrationFactory;
|
import org.springframework.cloud.alibaba.dubbo.registry.AbstractRegistrationFactory;
|
||||||
import org.springframework.cloud.alibaba.dubbo.registry.RegistrationFactory;
|
import org.springframework.cloud.alibaba.dubbo.registry.RegistrationFactory;
|
||||||
import org.springframework.cloud.client.ServiceInstance;
|
import org.springframework.cloud.client.ServiceInstance;
|
||||||
|
@ -16,9 +16,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.springframework.cloud.alibaba.dubbo.registry.hashicorp.consul;
|
package org.springframework.cloud.alibaba.dubbo.registry.hashicorp.consul;
|
||||||
|
|
||||||
import com.alibaba.dubbo.common.URL;
|
|
||||||
|
|
||||||
import com.ecwid.consul.v1.agent.model.NewService;
|
import com.ecwid.consul.v1.agent.model.NewService;
|
||||||
|
import org.apache.dubbo.common.URL;
|
||||||
import org.springframework.cloud.alibaba.dubbo.registry.AbstractRegistrationFactory;
|
import org.springframework.cloud.alibaba.dubbo.registry.AbstractRegistrationFactory;
|
||||||
import org.springframework.cloud.alibaba.dubbo.registry.RegistrationFactory;
|
import org.springframework.cloud.alibaba.dubbo.registry.RegistrationFactory;
|
||||||
import org.springframework.cloud.client.ServiceInstance;
|
import org.springframework.cloud.client.ServiceInstance;
|
||||||
|
@ -16,10 +16,9 @@
|
|||||||
*/
|
*/
|
||||||
package org.springframework.cloud.alibaba.dubbo.registry.netflix.eureka;
|
package org.springframework.cloud.alibaba.dubbo.registry.netflix.eureka;
|
||||||
|
|
||||||
import com.alibaba.dubbo.common.URL;
|
|
||||||
|
|
||||||
import com.netflix.appinfo.HealthCheckHandler;
|
import com.netflix.appinfo.HealthCheckHandler;
|
||||||
import com.netflix.discovery.EurekaClientConfig;
|
import com.netflix.discovery.EurekaClientConfig;
|
||||||
|
import org.apache.dubbo.common.URL;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.beans.factory.ObjectProvider;
|
import org.springframework.beans.factory.ObjectProvider;
|
||||||
import org.springframework.cloud.alibaba.dubbo.registry.AbstractRegistrationFactory;
|
import org.springframework.cloud.alibaba.dubbo.registry.AbstractRegistrationFactory;
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.springframework.cloud.alibaba.dubbo.service;
|
package org.springframework.cloud.alibaba.dubbo.service;
|
||||||
|
|
||||||
import com.alibaba.dubbo.rpc.service.GenericService;
|
import org.apache.dubbo.rpc.service.GenericService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Dubbo {@link GenericService} execution context
|
* Dubbo {@link GenericService} execution context
|
||||||
|
@ -16,9 +16,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.springframework.cloud.alibaba.dubbo.service;
|
package org.springframework.cloud.alibaba.dubbo.service;
|
||||||
|
|
||||||
import com.alibaba.dubbo.config.spring.ReferenceBean;
|
import org.apache.dubbo.config.spring.ReferenceBean;
|
||||||
import com.alibaba.dubbo.rpc.service.GenericService;
|
import org.apache.dubbo.rpc.service.GenericService;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.cloud.alibaba.dubbo.metadata.DubboServiceMetadata;
|
import org.springframework.cloud.alibaba.dubbo.metadata.DubboServiceMetadata;
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.springframework.cloud.alibaba.dubbo.service;
|
package org.springframework.cloud.alibaba.dubbo.service;
|
||||||
|
|
||||||
import com.alibaba.dubbo.rpc.service.GenericService;
|
import org.apache.dubbo.rpc.service.GenericService;
|
||||||
|
|
||||||
import java.lang.reflect.InvocationHandler;
|
import java.lang.reflect.InvocationHandler;
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
|
@ -16,11 +16,10 @@
|
|||||||
*/
|
*/
|
||||||
package org.springframework.cloud.alibaba.dubbo.service;
|
package org.springframework.cloud.alibaba.dubbo.service;
|
||||||
|
|
||||||
import com.alibaba.dubbo.config.annotation.Service;
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.fasterxml.jackson.databind.SerializationFeature;
|
import com.fasterxml.jackson.databind.SerializationFeature;
|
||||||
|
import org.apache.dubbo.config.annotation.Service;
|
||||||
import org.springframework.cloud.alibaba.dubbo.metadata.ServiceRestMetadata;
|
import org.springframework.cloud.alibaba.dubbo.metadata.ServiceRestMetadata;
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
|
@ -16,8 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.springframework.cloud.alibaba.dubbo.service.parameter;
|
package org.springframework.cloud.alibaba.dubbo.service.parameter;
|
||||||
|
|
||||||
import com.alibaba.dubbo.rpc.service.GenericService;
|
import org.apache.dubbo.rpc.service.GenericService;
|
||||||
|
|
||||||
import org.springframework.cloud.alibaba.dubbo.http.HttpServerRequest;
|
import org.springframework.cloud.alibaba.dubbo.http.HttpServerRequest;
|
||||||
import org.springframework.cloud.alibaba.dubbo.metadata.MethodParameterMetadata;
|
import org.springframework.cloud.alibaba.dubbo.metadata.MethodParameterMetadata;
|
||||||
import org.springframework.cloud.alibaba.dubbo.metadata.RestMethodMetadata;
|
import org.springframework.cloud.alibaba.dubbo.metadata.RestMethodMetadata;
|
||||||
|
@ -5,5 +5,5 @@ mysql.server.ip=127.0.0.1
|
|||||||
mysql.server.port=3306
|
mysql.server.port=3306
|
||||||
mysql.db.name=demo
|
mysql.db.name=demo
|
||||||
|
|
||||||
mysql.user.name=xxxxx
|
mysql.user.name=root
|
||||||
mysql.user.password=xxxxx
|
mysql.user.password=123456
|
@ -16,11 +16,6 @@
|
|||||||
|
|
||||||
package org.springframework.cloud.alibaba.cloud.examples;
|
package org.springframework.cloud.alibaba.cloud.examples;
|
||||||
|
|
||||||
import java.sql.Connection;
|
|
||||||
import java.sql.PreparedStatement;
|
|
||||||
import java.sql.SQLException;
|
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
import com.alibaba.fescar.core.context.RootContext;
|
import com.alibaba.fescar.core.context.RootContext;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
@ -40,6 +35,11 @@ import org.springframework.web.bind.annotation.RequestMethod;
|
|||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
import org.springframework.web.client.RestTemplate;
|
import org.springframework.web.client.RestTemplate;
|
||||||
|
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.PreparedStatement;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author xiaojing
|
* @author xiaojing
|
||||||
*/
|
*/
|
||||||
@ -94,11 +94,11 @@ public class OrderController {
|
|||||||
}
|
}
|
||||||
}, keyHolder);
|
}, keyHolder);
|
||||||
|
|
||||||
order.id = (long) keyHolder.getKey();
|
order.id = keyHolder.getKey().longValue();
|
||||||
|
|
||||||
if (random.nextBoolean()) {
|
// if (random.nextBoolean()) {
|
||||||
throw new RuntimeException("this is a mock Exception");
|
// throw new RuntimeException("this is a mock Exception");
|
||||||
}
|
// }
|
||||||
|
|
||||||
LOGGER.info("Order Service End ... Created " + order);
|
LOGGER.info("Order Service End ... Created " + order);
|
||||||
|
|
||||||
|
@ -5,5 +5,5 @@ mysql.server.ip=127.0.0.1
|
|||||||
mysql.server.port=3306
|
mysql.server.port=3306
|
||||||
mysql.db.name=demo
|
mysql.db.name=demo
|
||||||
|
|
||||||
mysql.user.name=xxxxx
|
mysql.user.name=root
|
||||||
mysql.user.password=xxxxx
|
mysql.user.password=123456
|
@ -22,9 +22,7 @@
|
|||||||
</modules>
|
</modules>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<dubbo.version>2.6.5</dubbo.version>
|
<dubbo.version>2.7.0</dubbo.version>
|
||||||
<dubbo-spring-boot.version>0.2.1.RELEASE</dubbo-spring-boot.version>
|
|
||||||
<dubbo-registry-nacos.version>0.0.2</dubbo-registry-nacos.version>
|
|
||||||
<spring-cloud-zookeeper.version>2.1.0.RELEASE</spring-cloud-zookeeper.version>
|
<spring-cloud-zookeeper.version>2.1.0.RELEASE</spring-cloud-zookeeper.version>
|
||||||
<spring-cloud-consul.version>2.1.0.RELEASE</spring-cloud-consul.version>
|
<spring-cloud-consul.version>2.1.0.RELEASE</spring-cloud-consul.version>
|
||||||
<curator.version>4.0.1</curator.version>
|
<curator.version>4.0.1</curator.version>
|
||||||
@ -44,7 +42,7 @@
|
|||||||
|
|
||||||
<!-- Apache Dubbo dependencies-->
|
<!-- Apache Dubbo dependencies-->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.alibaba</groupId>
|
<groupId>org.apache.dubbo</groupId>
|
||||||
<artifactId>dubbo-dependencies-bom</artifactId>
|
<artifactId>dubbo-dependencies-bom</artifactId>
|
||||||
<version>${dubbo.version}</version>
|
<version>${dubbo.version}</version>
|
||||||
<type>pom</type>
|
<type>pom</type>
|
||||||
|
@ -16,8 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.springframework.cloud.alibaba.dubbo.bootstrap;
|
package org.springframework.cloud.alibaba.dubbo.bootstrap;
|
||||||
|
|
||||||
import com.alibaba.dubbo.config.annotation.Reference;
|
import org.apache.dubbo.config.annotation.Reference;
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.boot.ApplicationRunner;
|
import org.springframework.boot.ApplicationRunner;
|
||||||
@ -95,7 +94,7 @@ public class DubboSpringCloudConsumerBootstrap {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@FeignClient("${provider.application.name}")
|
@FeignClient("${provider.application.name}")
|
||||||
@DubboTransported
|
@DubboTransported()
|
||||||
public interface DubboFeignRestService {
|
public interface DubboFeignRestService {
|
||||||
|
|
||||||
@GetMapping(value = "/param")
|
@GetMapping(value = "/param")
|
||||||
|
@ -16,8 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.springframework.cloud.alibaba.dubbo.service;
|
package org.springframework.cloud.alibaba.dubbo.service;
|
||||||
|
|
||||||
import com.alibaba.dubbo.rpc.RpcContext;
|
import org.apache.dubbo.rpc.RpcContext;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.http.MediaType;
|
import org.springframework.http.MediaType;
|
||||||
@ -48,7 +47,7 @@ import static org.springframework.util.MimeTypeUtils.APPLICATION_JSON_VALUE;
|
|||||||
*
|
*
|
||||||
* @author <a href="mailto:mercyblitz@gmail.com">Mercy</a>
|
* @author <a href="mailto:mercyblitz@gmail.com">Mercy</a>
|
||||||
*/
|
*/
|
||||||
@com.alibaba.dubbo.config.annotation.Service(version = "1.0.0", protocol = {"dubbo", "rest"})
|
@org.apache.dubbo.config.annotation.Service(version = "1.0.0", protocol = {"dubbo", "rest"})
|
||||||
@RestController
|
@RestController
|
||||||
@Path("/")
|
@Path("/")
|
||||||
public class StandardRestService implements RestService {
|
public class StandardRestService implements RestService {
|
||||||
|
@ -4,6 +4,7 @@ spring:
|
|||||||
main:
|
main:
|
||||||
allow-bean-definition-overriding: true
|
allow-bean-definition-overriding: true
|
||||||
|
|
||||||
|
|
||||||
# default disable all
|
# default disable all
|
||||||
cloud:
|
cloud:
|
||||||
nacos:
|
nacos:
|
||||||
|
@ -31,18 +31,17 @@
|
|||||||
|
|
||||||
package org.springframework.cloud.alibaba.fescar.rest;
|
package org.springframework.cloud.alibaba.fescar.rest;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.http.client.ClientHttpRequestInterceptor;
|
import org.springframework.http.client.ClientHttpRequestInterceptor;
|
||||||
import org.springframework.web.client.RestTemplate;
|
import org.springframework.web.client.RestTemplate;
|
||||||
|
|
||||||
|
import javax.annotation.PostConstruct;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author xiaojing
|
* @author xiaojing
|
||||||
*/
|
*/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user