{
+
/**
* The pointcut expression for
- * {@link ZookeeperServiceWatch#childEvent(CuratorFramework, TreeCacheEvent)}
+ * {@link ZookeeperServiceWatch#childEvent(CuratorFramework, TreeCacheEvent)}.
*/
public static final String CHILD_EVENT_POINTCUT_EXPRESSION = "execution(void org.springframework.cloud.zookeeper.discovery.ZookeeperServiceWatch.childEvent(..)) && args(client,event)";
/**
- * The path separator of Zookeeper node
+ * The path separator of Zookeeper node.
*/
public static final String NODE_PATH_SEPARATOR = "/";
/**
- * The path variable name for the name of service
+ * The path variable name for the name of service.
*/
private static final String SERVICE_NAME_PATH_VARIABLE_NAME = "serviceName";
/**
- * The path variable name for the id of {@link ServiceInstance service instance}
+ * The path variable name for the id of {@link ServiceInstance service instance}.
*/
private static final String SERVICE_INSTANCE_ID_PATH_VARIABLE_NAME = "serviceInstanceId";
@@ -329,7 +329,7 @@ public class DubboServiceDiscoveryAutoConfiguration {
* Ant Path pattern for {@link ServiceInstance} :
*
*
- * ${{@link #rootPath}}/{serviceName}/{serviceInstanceId}
+ * ${{@link #rootPath}}/{serviceName}/{serviceInstanceId}.
*
* @see #rootPath
* @see #SERVICE_NAME_PATH_VARIABLE_NAME
@@ -338,7 +338,7 @@ public class DubboServiceDiscoveryAutoConfiguration {
private final String serviceInstancePathPattern;
/**
- * The {@link ThreadLocal} holds the processed service name
+ * The {@link ThreadLocal} holds the processed service name.
*/
private final ThreadLocal processedServiceNameThreadLocal;
@@ -356,8 +356,7 @@ public class DubboServiceDiscoveryAutoConfiguration {
/**
* Zookeeper uses {@link TreeCacheEvent} to trigger
* {@link #dispatchServiceInstancesChangedEvent(String, Collection)} , thus
- * {@link HeartbeatEvent} handle is always ignored
- *
+ * {@link HeartbeatEvent} handle is always ignored.
* @return false
forever
*/
@Bean
@@ -367,8 +366,7 @@ public class DubboServiceDiscoveryAutoConfiguration {
/**
* Handle on {@link InstanceRegisteredEvent} after
- * {@link ZookeeperServiceWatch#onApplicationEvent(InstanceRegisteredEvent)}
- *
+ * {@link ZookeeperServiceWatch#onApplicationEvent(InstanceRegisteredEvent)}.
* @param event {@link InstanceRegisteredEvent}
* @see #reattachTreeCacheListeners()
*/
@@ -378,7 +376,7 @@ public class DubboServiceDiscoveryAutoConfiguration {
}
/**
- * Re-attach the {@link TreeCacheListener TreeCacheListeners}
+ * Re-attach the {@link TreeCacheListener TreeCacheListeners}.
*/
private void reattachTreeCacheListeners() {
@@ -389,7 +387,7 @@ public class DubboServiceDiscoveryAutoConfiguration {
/**
* All registered TreeCacheListeners except {@link ZookeeperServiceWatch}.
* Usually, "otherListeners" will be empty because Spring Cloud Zookeeper only
- * adds "zookeeperServiceWatch" bean as {@link TreeCacheListener}
+ * adds "zookeeperServiceWatch" bean as {@link TreeCacheListener}.
*/
List otherListeners = new LinkedList<>();
@@ -400,7 +398,7 @@ public class DubboServiceDiscoveryAutoConfiguration {
* Even though "listener" is an instance of
* {@link ZookeeperServiceWatch}, "zookeeperServiceWatch" bean that
* was enhanced by AOP is different from the former, thus it's
- * required to exclude "listener"
+ * required to exclude "listener".
*/
if (!(listener instanceof ZookeeperServiceWatch)) {
otherListeners.add(listener);
@@ -428,8 +426,7 @@ public class DubboServiceDiscoveryAutoConfiguration {
* Try to {@link #dispatchServiceInstancesChangedEvent(String, Collection)
* dispatch} {@link ServiceInstancesChangedEvent} before
* {@link ZookeeperServiceWatch#childEvent(CuratorFramework, TreeCacheEvent)}
- * execution if required
- *
+ * execution if required.
* @param client {@link CuratorFramework}
* @param event {@link TreeCacheEvent}
*/
@@ -449,8 +446,7 @@ public class DubboServiceDiscoveryAutoConfiguration {
}
/**
- * Resolve the name of service
- *
+ * Resolve the name of service.
* @param event {@link TreeCacheEvent}
* @return If the Zookeeper's {@link ChildData#getPath() node path} that was
* notified comes from {@link ServiceInstance the service instance}, return it's
@@ -475,8 +471,7 @@ public class DubboServiceDiscoveryAutoConfiguration {
}
/**
- * The {@link TreeCacheEvent#getType() event type} is supported or not
- *
+ * The {@link TreeCacheEvent#getType() event type} is supported or not.
* @param event {@link TreeCacheEvent}
* @return the rule is same as
* {@link ZookeeperServiceWatch#childEvent(CuratorFramework, TreeCacheEvent)}
@@ -488,10 +483,11 @@ public class DubboServiceDiscoveryAutoConfiguration {
|| eventType.equals(TreeCacheEvent.Type.NODE_REMOVED)
|| eventType.equals(TreeCacheEvent.Type.NODE_UPDATED);
}
+
}
/**
- * Consul Customized Configuration
+ * Consul Customized Configuration.
*/
@Configuration
@ConditionalOnBean(name = CONSUL_DISCOVERY_AUTO_CONFIGURATION_CLASS_NAME)
@@ -500,13 +496,14 @@ public class DubboServiceDiscoveryAutoConfiguration {
}
/**
- * Nacos Customized Configuration
+ * Nacos Customized Configuration.
*/
@Configuration
@ConditionalOnBean(name = NACOS_DISCOVERY_AUTO_CONFIGURATION_CLASS_NAME)
class NacosConfiguration {
private final NamingService namingService;
+
private final NacosDiscoveryProperties nacosDiscoveryProperties;
/**
@@ -521,10 +518,9 @@ public class DubboServiceDiscoveryAutoConfiguration {
}
/**
- * Nacos uses {@link EventListener} to trigger
+ * Nacos uses {@link EventListener} to trigger.
* {@link #dispatchServiceInstancesChangedEvent(String, Collection)} , thus
* {@link HeartbeatEvent} handle is always ignored
- *
* @return false
forever
*/
@Bean
@@ -558,5 +554,7 @@ public class DubboServiceDiscoveryAutoConfiguration {
}
}
}
+
}
+
}
diff --git a/spring-cloud-alibaba-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboServiceRegistrationAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboServiceRegistrationAutoConfiguration.java
similarity index 95%
rename from spring-cloud-alibaba-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboServiceRegistrationAutoConfiguration.java
rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboServiceRegistrationAutoConfiguration.java
index 49cda2c2..3415bcee 100644
--- a/spring-cloud-alibaba-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboServiceRegistrationAutoConfiguration.java
+++ b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboServiceRegistrationAutoConfiguration.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2018 the original author or authors.
+ * Copyright 2013-2018 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,6 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package com.alibaba.cloud.dubbo.autoconfigure;
import java.util.Collection;
@@ -23,7 +24,6 @@ import com.alibaba.cloud.dubbo.autoconfigure.condition.MissingSpringCloudRegistr
import com.alibaba.cloud.dubbo.metadata.repository.DubboServiceMetadataRepository;
import com.alibaba.cloud.dubbo.registry.DubboServiceRegistrationEventPublishingAspect;
import com.alibaba.cloud.dubbo.registry.event.ServiceInstancePreRegisteredEvent;
-
import com.ecwid.consul.v1.agent.model.NewService;
import com.netflix.appinfo.InstanceInfo;
import org.apache.dubbo.config.RegistryConfig;
@@ -60,7 +60,7 @@ import static com.alibaba.cloud.dubbo.registry.SpringCloudRegistryFactory.PROTOC
import static org.springframework.util.ObjectUtils.isEmpty;
/**
- * Dubbo Service Registration Auto-{@link Configuration}
+ * Dubbo Service Registration Auto-{@link Configuration}.
*
* @author Mercy
*/
@@ -73,12 +73,24 @@ import static org.springframework.util.ObjectUtils.isEmpty;
DubboMetadataAutoConfiguration.class })
public class DubboServiceRegistrationAutoConfiguration {
+ /**
+ * EurekaClientAutoConfiguration.
+ */
public static final String EUREKA_CLIENT_AUTO_CONFIGURATION_CLASS_NAME = "org.springframework.cloud.netflix.eureka.EurekaClientAutoConfiguration";
+ /**
+ * ConsulAutoServiceRegistrationAutoConfiguration.
+ */
public static final String CONSUL_AUTO_SERVICE_AUTO_CONFIGURATION_CLASS_NAME = "org.springframework.cloud.consul.serviceregistry.ConsulAutoServiceRegistrationAutoConfiguration";
+ /**
+ * ConsulAutoRegistration.
+ */
public static final String CONSUL_AUTO_SERVICE_AUTO_REGISTRATION_CLASS_NAME = "org.springframework.cloud.consul.serviceregistry.ConsulAutoRegistration";
+ /**
+ * ZookeeperAutoServiceRegistrationAutoConfiguration.
+ */
public static final String ZOOKEEPER_AUTO_SERVICE_AUTO_CONFIGURATION_CLASS_NAME = "org.springframework.cloud.zookeeper.serviceregistry.ZookeeperAutoServiceRegistrationAutoConfiguration";
private static final Logger logger = LoggerFactory
@@ -88,7 +100,7 @@ public class DubboServiceRegistrationAutoConfiguration {
private DubboServiceMetadataRepository dubboServiceMetadataRepository;
@Bean
- @Conditional(value = { MissingSpringCloudRegistryConfigPropertyCondition.class })
+ @Conditional({ MissingSpringCloudRegistryConfigPropertyCondition.class })
public RegistryConfig defaultSpringCloudRegistryConfig() {
return new RegistryConfig(ADDRESS, PROTOCOL);
}
@@ -150,6 +162,7 @@ public class DubboServiceRegistrationAutoConfiguration {
serviceBeans.forEach(ServiceBean::export);
}
}
+
}
@Configuration
@@ -158,8 +171,7 @@ public class DubboServiceRegistrationAutoConfiguration {
class ConsulConfiguration {
/**
- * Handle the pre-registered event of {@link ServiceInstance} for Consul
- *
+ * Handle the pre-registered event of {@link ServiceInstance} for Consul.
* @param event {@link ServiceInstancePreRegisteredEvent}
*/
@EventListener(ServiceInstancePreRegisteredEvent.class)
@@ -186,5 +198,7 @@ public class DubboServiceRegistrationAutoConfiguration {
}
}
}
+
}
-}
\ No newline at end of file
+
+}
diff --git a/spring-cloud-alibaba-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboServiceRegistrationNonWebApplicationAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboServiceRegistrationNonWebApplicationAutoConfiguration.java
similarity index 97%
rename from spring-cloud-alibaba-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboServiceRegistrationNonWebApplicationAutoConfiguration.java
rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboServiceRegistrationNonWebApplicationAutoConfiguration.java
index 40194719..24bf9059 100644
--- a/spring-cloud-alibaba-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboServiceRegistrationNonWebApplicationAutoConfiguration.java
+++ b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/DubboServiceRegistrationNonWebApplicationAutoConfiguration.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2018 the original author or authors.
+ * Copyright 2013-2018 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,13 +13,13 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package com.alibaba.cloud.dubbo.autoconfigure;
import java.util.List;
import com.alibaba.cloud.dubbo.metadata.repository.DubboServiceMetadataRepository;
import com.alibaba.cloud.dubbo.registry.event.ServiceInstancePreRegisteredEvent;
-
import com.ecwid.consul.v1.agent.model.NewService;
import org.apache.dubbo.common.URL;
import org.apache.dubbo.config.spring.ServiceBean;
@@ -47,7 +47,7 @@ import static com.alibaba.cloud.dubbo.autoconfigure.DubboServiceRegistrationAuto
import static com.alibaba.cloud.dubbo.autoconfigure.DubboServiceRegistrationAutoConfiguration.ZOOKEEPER_AUTO_SERVICE_AUTO_CONFIGURATION_CLASS_NAME;
/**
- * Dubbo Service Registration Auto-{@link Configuration} for Non-Web application
+ * Dubbo Service Registration Auto-{@link Configuration} for Non-Web application.
*
* @author Mercy
*/
@@ -134,6 +134,7 @@ public class DubboServiceRegistrationNonWebApplicationAutoConfiguration {
// before register
registration.getServiceInstance();
}
+
}
@Configuration
@@ -141,8 +142,7 @@ public class DubboServiceRegistrationNonWebApplicationAutoConfiguration {
class ConsulConfiguration {
/**
- * Handle the pre-registered event of {@link ServiceInstance} for Consul
- *
+ * Handle the pre-registered event of {@link ServiceInstance} for Consul.
* @param event {@link ServiceInstancePreRegisteredEvent}
*/
@EventListener(ServiceInstancePreRegisteredEvent.class)
@@ -154,8 +154,7 @@ public class DubboServiceRegistrationNonWebApplicationAutoConfiguration {
}
/**
- * Set port on Non-Web Application
- *
+ * Set port on Non-Web Application.
* @param consulRegistration {@link ConsulRegistration}
*/
private void setPort(ConsulAutoRegistration consulRegistration) {
@@ -165,6 +164,7 @@ public class DubboServiceRegistrationNonWebApplicationAutoConfiguration {
newService.setPort(port);
}
}
+
}
-}
\ No newline at end of file
+}
diff --git a/spring-cloud-alibaba-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/condition/MissingSpringCloudRegistryConfigPropertyCondition.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/condition/MissingSpringCloudRegistryConfigPropertyCondition.java
similarity index 92%
rename from spring-cloud-alibaba-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/condition/MissingSpringCloudRegistryConfigPropertyCondition.java
rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/condition/MissingSpringCloudRegistryConfigPropertyCondition.java
index 40c34046..0ea71581 100644
--- a/spring-cloud-alibaba-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/condition/MissingSpringCloudRegistryConfigPropertyCondition.java
+++ b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/autoconfigure/condition/MissingSpringCloudRegistryConfigPropertyCondition.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2018 the original author or authors.
+ * Copyright 2013-2018 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,6 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package com.alibaba.cloud.dubbo.autoconfigure.condition;
import java.util.Map;
@@ -28,10 +29,10 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
import org.springframework.util.StringUtils;
import static com.alibaba.cloud.dubbo.registry.SpringCloudRegistryFactory.PROTOCOL;
-import static org.apache.dubbo.config.spring.util.PropertySourcesUtils.getSubProperties;
+import static org.apache.dubbo.config.spring.util.PropertySourcesUtils.getPrefixedProperties;
/**
- * Missing {@link SpringCloudRegistry} Property {@link Condition}
+ * Missing {@link SpringCloudRegistry} Property {@link Condition}.
*
* @author Mercy
* @see SpringCloudRegistry
@@ -60,8 +61,8 @@ public class MissingSpringCloudRegistryConfigPropertyCondition
"'spring-cloud' protocol was found from 'dubbo.registry.address'");
}
- Map properties = getSubProperties(environment,
- "dubbo.registries.");
+ Map properties = getPrefixedProperties(
+ environment.getPropertySources(), "dubbo.registries.");
boolean found = properties.entrySet().stream().anyMatch(entry -> {
String key = entry.getKey();
@@ -76,4 +77,5 @@ public class MissingSpringCloudRegistryConfigPropertyCondition
"'spring-cloud' protocol was found in 'dubbo.registries.*'")
: ConditionOutcome.match();
}
+
}
diff --git a/spring-cloud-alibaba-dubbo/src/main/java/com/alibaba/cloud/dubbo/client/loadbalancer/DubboClientHttpResponse.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/client/loadbalancer/DubboClientHttpResponse.java
similarity index 92%
rename from spring-cloud-alibaba-dubbo/src/main/java/com/alibaba/cloud/dubbo/client/loadbalancer/DubboClientHttpResponse.java
rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/client/loadbalancer/DubboClientHttpResponse.java
index 268bd665..87513d0b 100644
--- a/spring-cloud-alibaba-dubbo/src/main/java/com/alibaba/cloud/dubbo/client/loadbalancer/DubboClientHttpResponse.java
+++ b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/client/loadbalancer/DubboClientHttpResponse.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2018 the original author or authors.
+ * Copyright 2013-2018 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,6 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package com.alibaba.cloud.dubbo.client.loadbalancer;
import java.io.IOException;
@@ -25,7 +26,7 @@ import org.springframework.http.HttpStatus;
import org.springframework.http.client.ClientHttpResponse;
/**
- * Dubbo {@link ClientHttpResponse} implementation
+ * Dubbo {@link ClientHttpResponse} implementation.
*
* @author Mercy
* @see DubboTransporterInterceptor
@@ -40,7 +41,7 @@ class DubboClientHttpResponse implements ClientHttpResponse {
private final DubboHttpOutputMessage httpOutputMessage;
- public DubboClientHttpResponse(DubboHttpOutputMessage httpOutputMessage,
+ DubboClientHttpResponse(DubboHttpOutputMessage httpOutputMessage,
GenericException exception) {
this.httpStatus = exception != null ? HttpStatus.INTERNAL_SERVER_ERROR
: HttpStatus.OK;
@@ -78,4 +79,5 @@ class DubboClientHttpResponse implements ClientHttpResponse {
public HttpHeaders getHeaders() {
return httpHeaders;
}
+
}
diff --git a/spring-cloud-alibaba-dubbo/src/main/java/com/alibaba/cloud/dubbo/client/loadbalancer/DubboClientHttpResponseFactory.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/client/loadbalancer/DubboClientHttpResponseFactory.java
similarity index 92%
rename from spring-cloud-alibaba-dubbo/src/main/java/com/alibaba/cloud/dubbo/client/loadbalancer/DubboClientHttpResponseFactory.java
rename to spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/client/loadbalancer/DubboClientHttpResponseFactory.java
index fa299200..110f388e 100644
--- a/spring-cloud-alibaba-dubbo/src/main/java/com/alibaba/cloud/dubbo/client/loadbalancer/DubboClientHttpResponseFactory.java
+++ b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/client/loadbalancer/DubboClientHttpResponseFactory.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2018 the original author or authors.
+ * Copyright 2013-2018 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,6 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package com.alibaba.cloud.dubbo.client.loadbalancer;
import java.io.IOException;
@@ -22,7 +23,6 @@ import com.alibaba.cloud.dubbo.http.converter.HttpMessageConverterHolder;
import com.alibaba.cloud.dubbo.http.util.HttpMessageConverterResolver;
import com.alibaba.cloud.dubbo.metadata.RequestMetadata;
import com.alibaba.cloud.dubbo.metadata.RestMethodMetadata;
-
import org.apache.dubbo.rpc.service.GenericException;
import org.springframework.http.MediaType;
@@ -30,7 +30,7 @@ import org.springframework.http.client.ClientHttpResponse;
import org.springframework.http.converter.HttpMessageConverter;
/**
- * Dubbo {@link ClientHttpResponse} Factory
+ * Dubbo {@link ClientHttpResponse} Factory.
*
* @author Mercy
*/
@@ -38,7 +38,7 @@ class DubboClientHttpResponseFactory {
private final HttpMessageConverterResolver httpMessageConverterResolver;
- public DubboClientHttpResponseFactory(List> messageConverters,
+ DubboClientHttpResponseFactory(List