1
0
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:
Mercy Ma 2019-03-07 14:33:40 +08:00 committed by GitHub
commit c6a31dac63
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
34 changed files with 244 additions and 162 deletions

View File

@ -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 -->

View File

@ -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;

View File

@ -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;

View File

@ -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);
}
}
} }

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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();
} }

View File

@ -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;
/** /**

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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

View File

@ -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);

View File

@ -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

View File

@ -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>

View File

@ -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")

View File

@ -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 {

View File

@ -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:

View File

@ -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
*/ */