From c3173465ea53f6004cb74ca2993941689b8c44b9 Mon Sep 17 00:00:00 2001 From: mercyblitz Date: Wed, 2 Sep 2020 10:59:14 +0800 Subject: [PATCH] Polish alibaba/spring-cloud-alibaba#1661 : [Feature] Introducing Dubbo Gateway --- .../pom.xml | 38 +++++----- .../gateway/DubboCloudGatewayExecutor.java | 4 +- ...boSpringCloudGatewayAutoConfiguration.java | 4 +- .../main/resources/META-INF/spring.factories | 2 +- .../DubboSpringCloudGatewayBootstrap.java | 2 +- .../src/test/resources/application.yaml | 69 +------------------ .../src/test/resources/bootstrap.yaml | 66 ++++++++++++++++++ 7 files changed, 92 insertions(+), 93 deletions(-) rename spring-cloud-alibaba-starters/spring-cloud-starter-dubbo-gateway/src/main/java/com/alibaba/cloud/dubbo/gateway/{standard => autoconfigure}/DubboSpringCloudGatewayAutoConfiguration.java (95%) create mode 100644 spring-cloud-alibaba-starters/spring-cloud-starter-dubbo-gateway/src/test/resources/bootstrap.yaml diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo-gateway/pom.xml b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo-gateway/pom.xml index 224e93e4..2b94e06c 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo-gateway/pom.xml +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo-gateway/pom.xml @@ -106,12 +106,12 @@ test - - - - - - + + + org.springframework.cloud + spring-cloud-starter-netflix-eureka-client + test + @@ -147,20 +147,20 @@ test - - - - - - - + + + org.springframework.cloud + spring-cloud-starter-consul-discovery + ${spring-cloud-consul.version} + test + - - - - - - + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + test + diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo-gateway/src/main/java/com/alibaba/cloud/dubbo/gateway/DubboCloudGatewayExecutor.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo-gateway/src/main/java/com/alibaba/cloud/dubbo/gateway/DubboCloudGatewayExecutor.java index d591e986..d066831a 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo-gateway/src/main/java/com/alibaba/cloud/dubbo/gateway/DubboCloudGatewayExecutor.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo-gateway/src/main/java/com/alibaba/cloud/dubbo/gateway/DubboCloudGatewayExecutor.java @@ -71,12 +71,12 @@ public class DubboCloudGatewayExecutor { DubboGenericServiceFactory serviceFactory, DubboGenericServiceExecutionContextFactory contextFactory, DubboCloudGatewayProperties dubboCloudGatewayProperties, - ObjectProvider conversionServices) { + ObjectProvider conversionService) { this.repository = repository; this.serviceFactory = serviceFactory; this.contextFactory = contextFactory; this.dubboCloudGatewayProperties = dubboCloudGatewayProperties; - this.conversionService = conversionServices + this.conversionService = conversionService .getIfAvailable(DefaultFormattingConversionService::new); // TODO : Replace these hard-code configurations this.dubboTranslatedAttributes.put("protocol", "dubbo"); diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo-gateway/src/main/java/com/alibaba/cloud/dubbo/gateway/standard/DubboSpringCloudGatewayAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo-gateway/src/main/java/com/alibaba/cloud/dubbo/gateway/autoconfigure/DubboSpringCloudGatewayAutoConfiguration.java similarity index 95% rename from spring-cloud-alibaba-starters/spring-cloud-starter-dubbo-gateway/src/main/java/com/alibaba/cloud/dubbo/gateway/standard/DubboSpringCloudGatewayAutoConfiguration.java rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo-gateway/src/main/java/com/alibaba/cloud/dubbo/gateway/autoconfigure/DubboSpringCloudGatewayAutoConfiguration.java index ef892929..09b184e1 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo-gateway/src/main/java/com/alibaba/cloud/dubbo/gateway/standard/DubboSpringCloudGatewayAutoConfiguration.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo-gateway/src/main/java/com/alibaba/cloud/dubbo/gateway/autoconfigure/DubboSpringCloudGatewayAutoConfiguration.java @@ -14,13 +14,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.alibaba.cloud.dubbo.gateway.standard; +package com.alibaba.cloud.dubbo.gateway.autoconfigure; import com.alibaba.cloud.dubbo.autoconfigure.DubboMetadataAutoConfiguration; import com.alibaba.cloud.dubbo.autoconfigure.DubboServiceAutoConfiguration; import com.alibaba.cloud.dubbo.gateway.DubboCloudGatewayExecutor; import com.alibaba.cloud.dubbo.gateway.DubboCloudGatewayProperties; -import com.alibaba.cloud.dubbo.gateway.autoconfigure.DubboCloudGatewayAutoConfiguration; +import com.alibaba.cloud.dubbo.gateway.standard.DubboSpringCloudGatewayFilter; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo-gateway/src/main/resources/META-INF/spring.factories b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo-gateway/src/main/resources/META-INF/spring.factories index 463847c1..915e8fa2 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo-gateway/src/main/resources/META-INF/spring.factories +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo-gateway/src/main/resources/META-INF/spring.factories @@ -1,3 +1,3 @@ org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ com.alibaba.cloud.dubbo.gateway.autoconfigure.DubboCloudGatewayAutoConfiguration,\ -com.alibaba.cloud.dubbo.gateway.standard.DubboSpringCloudGatewayAutoConfiguration \ No newline at end of file +com.alibaba.cloud.dubbo.gateway.autoconfigure.DubboSpringCloudGatewayAutoConfiguration \ No newline at end of file diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo-gateway/src/test/java/com/alibaba/cloud/dubbo/gateway/standard/DubboSpringCloudGatewayBootstrap.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo-gateway/src/test/java/com/alibaba/cloud/dubbo/gateway/standard/DubboSpringCloudGatewayBootstrap.java index 662a131d..30807e2f 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo-gateway/src/test/java/com/alibaba/cloud/dubbo/gateway/standard/DubboSpringCloudGatewayBootstrap.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo-gateway/src/test/java/com/alibaba/cloud/dubbo/gateway/standard/DubboSpringCloudGatewayBootstrap.java @@ -31,7 +31,7 @@ public class DubboSpringCloudGatewayBootstrap { public static void main(String[] args) { new SpringApplicationBuilder(DubboSpringCloudGatewayBootstrap.class) - .properties("spring.profiles.active=zookeeper").run(args); + .properties("spring.profiles.active=nacos").run(args); } } diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo-gateway/src/test/resources/application.yaml b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo-gateway/src/test/resources/application.yaml index 2f9abf4e..ef0a53a4 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo-gateway/src/test/resources/application.yaml +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo-gateway/src/test/resources/application.yaml @@ -1,74 +1,7 @@ -spring: - application: - name: spring-cloud-alibaba-dubbo-gateway - main: - allow-bean-definition-overriding: true - dubbo: protocols: dubbo: port: -1 server: - port: 9090 - - # default disable all - cloud: - nacos: - discovery: - enabled: false - register-enabled: false - zookeeper: - enabled: false - consul: - enabled: false - -eureka: - client: - enabled: false - - ---- -spring: - profiles: nacos - - cloud: - nacos: - username: nacos - password: nacos - discovery: - enabled: true - register-enabled: true - server-addr: 127.0.0.1:8848 - ephemeral: false - - ---- -spring: - profiles: eureka - -eureka: - client: - enabled: true - service-url: - defaultZone: http://127.0.0.1:8761/eureka/ - - ---- -spring: - profiles: zookeeper - cloud: - zookeeper: - enabled: true - connect-string: 127.0.0.1:2181 - - ---- -spring: - profiles: consul - - cloud: - consul: - enabled: true - host: 127.0.0.1 - port: 8500 \ No newline at end of file + port: 9090 \ No newline at end of file diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo-gateway/src/test/resources/bootstrap.yaml b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo-gateway/src/test/resources/bootstrap.yaml new file mode 100644 index 00000000..f4743867 --- /dev/null +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo-gateway/src/test/resources/bootstrap.yaml @@ -0,0 +1,66 @@ +spring: + application: + name: spring-cloud-alibaba-dubbo-gateway + main: + allow-bean-definition-overriding: true + + + # default disable all + cloud: + nacos: + username: nacos + password: nacos + discovery: + enabled: false + register-enabled: false + zookeeper: + enabled: false + consul: + enabled: false + +eureka: + client: + enabled: false + + +--- +spring: + profiles: nacos + + cloud: + nacos: + discovery: + enabled: true + register-enabled: true + server-addr: 127.0.0.1:8848 + + +--- +spring: + profiles: eureka + +eureka: + client: + enabled: true + service-url: + defaultZone: http://127.0.0.1:8761/eureka/ + + +--- +spring: + profiles: zookeeper + cloud: + zookeeper: + enabled: true + connect-string: 127.0.0.1:2181 + + +--- +spring: + profiles: consul + + cloud: + consul: + enabled: true + host: 127.0.0.1 + port: 8500 \ No newline at end of file