This is an automated email from the ASF dual-hosted git repository.
albumenj pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo.git
The following commit(s) were added to refs/heads/master by this push:
new 32c9c38 Optimize ServiceConfig code and extract constants (#7793)
32c9c38 is described below
commit 32c9c38577f7d2710d6daf9afadb99ddfeebbdc1
Author: xiaoheng1 <[email protected]>
AuthorDate: Wed May 19 22:13:41 2021 +0800
Optimize ServiceConfig code and extract constants (#7793)
---
.../org/apache/dubbo/config/ServiceConfig.java | 45 ++++++++++++++++------
1 file changed, 34 insertions(+), 11 deletions(-)
diff --git
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ServiceConfig.java
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ServiceConfig.java
index e6f3106..d42dd68 100644
---
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ServiceConfig.java
+++
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ServiceConfig.java
@@ -84,6 +84,7 @@ import static
org.apache.dubbo.common.constants.CommonConstants.REMOTE_METADATA_
import static org.apache.dubbo.common.constants.CommonConstants.REVISION_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.SIDE_KEY;
import static org.apache.dubbo.common.constants.RegistryConstants.DYNAMIC_KEY;
+import static org.apache.dubbo.common.constants.RegistryConstants.REGISTRY_KEY;
import static
org.apache.dubbo.common.constants.RegistryConstants.REGISTRY_TYPE_KEY;
import static
org.apache.dubbo.common.constants.RegistryConstants.SERVICE_REGISTRY_PROTOCOL;
import static
org.apache.dubbo.common.constants.RegistryConstants.SERVICE_REGISTRY_TYPE;
@@ -149,6 +150,24 @@ public class ServiceConfig<T> extends ServiceConfigBase<T>
{
*/
private final List<Exporter<?>> exporters = new ArrayList<Exporter<?>>();
+ private static final String CONFIG_INITIALIZER_PROTOCOL =
"configInitializer://";
+
+ private static final String TRUE_VALUE = "true";
+
+ private static final String FALSE_VALUE = "false";
+
+ private static final String STUB_SUFFIX = "Stub";
+
+ private static final String LOCAL_SUFFIX = "Local";
+
+ private static final String CONFIG_POST_PROCESSOR_PROTOCOL =
"configPostProcessor://";
+
+ private static final String RETRY_SUFFIX = ".retry";
+
+ private static final String RETRIES_SUFFIX = ".retries";
+
+ private static final String ZERO_VALUE = "0";
+
public ServiceConfig() {
}
@@ -157,15 +176,18 @@ public class ServiceConfig<T> extends
ServiceConfigBase<T> {
}
@Parameter(excluded = true)
+ @Override
public boolean isExported() {
return exported;
}
@Parameter(excluded = true)
+ @Override
public boolean isUnexported() {
return unexported;
}
+ @Override
public void unexport() {
if (!exported) {
return;
@@ -189,6 +211,7 @@ public class ServiceConfig<T> extends ServiceConfigBase<T> {
dispatch(new ServiceConfigUnexportedEvent(this));
}
+ @Override
public synchronized void export() {
if (bootstrap == null) {
bootstrap = DubboBootstrap.getInstance();
@@ -237,7 +260,7 @@ public class ServiceConfig<T> extends ServiceConfigBase<T> {
checkProtocol();
// init some null configuration.
List<ConfigInitializer> configInitializers =
ExtensionLoader.getExtensionLoader(ConfigInitializer.class)
- .getActivateExtension(URL.valueOf("configInitializer://"),
(String[]) null);
+
.getActivateExtension(URL.valueOf(CONFIG_INITIALIZER_PROTOCOL), (String[])
null);
configInitializers.forEach(e -> e.initServiceConfig(this));
// if protocol is not injvm checkRegistry
@@ -267,8 +290,8 @@ public class ServiceConfig<T> extends ServiceConfigBase<T> {
generic = Boolean.FALSE.toString();
}
if (local != null) {
- if ("true".equals(local)) {
- local = interfaceName + "Local";
+ if (TRUE_VALUE.equals(local)) {
+ local = interfaceName + LOCAL_SUFFIX;
}
Class<?> localClass;
try {
@@ -282,8 +305,8 @@ public class ServiceConfig<T> extends ServiceConfigBase<T> {
}
}
if (stub != null) {
- if ("true".equals(stub)) {
- stub = interfaceName + "Stub";
+ if (TRUE_VALUE.equals(stub)) {
+ stub = interfaceName + STUB_SUFFIX;
}
Class<?> stubClass;
try {
@@ -369,11 +392,11 @@ public class ServiceConfig<T> extends
ServiceConfigBase<T> {
if (CollectionUtils.isNotEmpty(getMethods())) {
for (MethodConfig method : getMethods()) {
AbstractConfig.appendParameters(map, method, method.getName());
- String retryKey = method.getName() + ".retry";
+ String retryKey = method.getName() + RETRY_SUFFIX;
if (map.containsKey(retryKey)) {
String retryValue = map.remove(retryKey);
- if ("false".equals(retryValue)) {
- map.put(method.getName() + ".retries", "0");
+ if (FALSE_VALUE.equals(retryValue)) {
+ map.put(method.getName() + RETRIES_SUFFIX, ZERO_VALUE);
}
}
List<ArgumentConfig> arguments = method.getArguments();
@@ -603,7 +626,7 @@ public class ServiceConfig<T> extends ServiceConfigBase<T> {
if (isInvalidLocalHost(hostToBind)) {
if (CollectionUtils.isNotEmpty(registryURLs)) {
for (URL registryURL : registryURLs) {
- if
(MULTICAST.equalsIgnoreCase(registryURL.getParameter("registry"))) {
+ if
(MULTICAST.equalsIgnoreCase(registryURL.getParameter(REGISTRY_KEY))) {
// skip multicast registry since we cannot
connect to it via Socket
continue;
}
@@ -699,7 +722,7 @@ public class ServiceConfig<T> extends ServiceConfigBase<T> {
private String getProtocolConfigId(ProtocolConfig config) {
- return Optional.ofNullable(config.getId()).orElse("dubbo");
+ return Optional.ofNullable(config.getId()).orElse(DUBBO);
}
private Integer parsePort(String configPort) {
@@ -742,7 +765,7 @@ public class ServiceConfig<T> extends ServiceConfigBase<T> {
private void postProcessConfig() {
List<ConfigPostProcessor> configPostProcessors =
ExtensionLoader.getExtensionLoader(ConfigPostProcessor.class)
- .getActivateExtension(URL.valueOf("configPostProcessor://"),
(String[]) null);
+
.getActivateExtension(URL.valueOf(CONFIG_POST_PROCESSOR_PROTOCOL), (String[])
null);
configPostProcessors.forEach(component ->
component.postProcessServiceConfig(this));
}