From faadc0bfffbfd1f7123a396613faa4cf9498b6d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A2=A7=E8=BF=9C?= Date: Mon, 18 Nov 2019 14:57:36 +0800 Subject: [PATCH 1/2] chore:add method for rpcbindingparam --- .../boot/runtime/param/RpcBindingParam.java | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/sofa-boot-project/sofa-boot-core/rpc-sofa-boot/src/main/java/com/alipay/sofa/rpc/boot/runtime/param/RpcBindingParam.java b/sofa-boot-project/sofa-boot-core/rpc-sofa-boot/src/main/java/com/alipay/sofa/rpc/boot/runtime/param/RpcBindingParam.java index 1f4f0e05e..f377088f4 100644 --- a/sofa-boot-project/sofa-boot-core/rpc-sofa-boot/src/main/java/com/alipay/sofa/rpc/boot/runtime/param/RpcBindingParam.java +++ b/sofa-boot-project/sofa-boot-core/rpc-sofa-boot/src/main/java/com/alipay/sofa/rpc/boot/runtime/param/RpcBindingParam.java @@ -16,16 +16,16 @@ */ package com.alipay.sofa.rpc.boot.runtime.param; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; - import com.alipay.sofa.rpc.boot.runtime.binding.RpcBindingMethodInfo; import com.alipay.sofa.rpc.filter.Filter; import com.alipay.sofa.rpc.server.UserThreadPool; import com.alipay.sofa.runtime.api.client.param.BindingParam; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + /** * XML 元素和属性会被解析为 RpcBindingParam 。 * @@ -79,6 +79,8 @@ public abstract class RpcBindingParam implements BindingParam { protected List registrys = new ArrayList(); + private Integer repeatReferLimit; + /** * Getter method for property timeout. * @@ -534,4 +536,13 @@ public int hashCode() { result = 31 * result + (registrys != null ? registrys.hashCode() : 0); return result; } + + public Integer getRepeatReferLimit() { + return repeatReferLimit; + } + + public void setRepeatReferLimit(Integer repeatReferLimit) { + this.repeatReferLimit = repeatReferLimit; + } + } \ No newline at end of file From a56d1301e4f2eecd520a205fe4a8a316876eff83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A2=A7=E8=BF=9C?= Date: Mon, 18 Nov 2019 14:57:49 +0800 Subject: [PATCH 2/2] chore:add @ConditionalOnMissingBean for rpc --- .../rpc/SofaRpcAutoConfiguration.java | 45 ++++++++++++------- 1 file changed, 30 insertions(+), 15 deletions(-) diff --git a/sofa-boot-project/sofa-boot-autoconfigure/src/main/java/com/alipay/sofa/boot/autoconfigure/rpc/SofaRpcAutoConfiguration.java b/sofa-boot-project/sofa-boot-autoconfigure/src/main/java/com/alipay/sofa/boot/autoconfigure/rpc/SofaRpcAutoConfiguration.java index f148bb9d0..c7b74ba37 100644 --- a/sofa-boot-project/sofa-boot-autoconfigure/src/main/java/com/alipay/sofa/boot/autoconfigure/rpc/SofaRpcAutoConfiguration.java +++ b/sofa-boot-project/sofa-boot-autoconfigure/src/main/java/com/alipay/sofa/boot/autoconfigure/rpc/SofaRpcAutoConfiguration.java @@ -16,21 +16,6 @@ */ package com.alipay.sofa.boot.autoconfigure.rpc; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.springframework.beans.factory.annotation.Value; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingClass; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.context.ApplicationListener; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Lazy; - import com.alipay.sofa.healthcheck.startup.ReadinessCheckCallback; import com.alipay.sofa.rpc.boot.config.ConsulConfigurator; import com.alipay.sofa.rpc.boot.config.FaultToleranceConfigurator; @@ -53,6 +38,21 @@ import com.alipay.sofa.rpc.boot.runtime.adapter.helper.ConsumerConfigHelper; import com.alipay.sofa.rpc.boot.runtime.adapter.helper.ProviderConfigHelper; import com.alipay.sofa.rpc.boot.swagger.SwaggerServiceApplicationListener; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.actuate.health.Health; +import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingClass; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.context.ApplicationListener; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Lazy; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * @author LiWei @@ -62,26 +62,31 @@ @ConditionalOnClass(SofaBootRpcProperties.class) public class SofaRpcAutoConfiguration { @Bean + @ConditionalOnMissingBean public ProviderConfigContainer providerConfigContainer() { return new ProviderConfigContainer(); } @Bean + @ConditionalOnMissingBean public FaultToleranceConfigurator faultToleranceConfigurator() { return new FaultToleranceConfigurator(); } @Bean + @ConditionalOnMissingBean public ServerConfigContainer serverConfigContainer(SofaBootRpcProperties sofaBootRpcProperties) { return new ServerConfigContainer(sofaBootRpcProperties); } @Bean + @ConditionalOnMissingBean public RegistryConfigContainer registryConfigContainer() { return new RegistryConfigContainer(); } @Bean + @ConditionalOnMissingBean public ConsumerConfigHelper consumerConfigHelper(SofaBootRpcProperties sofaBootRpcProperties, @Lazy RegistryConfigContainer registryConfigContainer, @Value("${" @@ -91,31 +96,37 @@ public ConsumerConfigHelper consumerConfigHelper(SofaBootRpcProperties sofaBootR } @Bean + @ConditionalOnMissingBean public ProviderConfigHelper providerConfigHelper() { return new ProviderConfigHelper(); } @Bean + @ConditionalOnMissingBean public ZookeeperConfigurator zookeeperConfigurator() { return new ZookeeperConfigurator(); } @Bean + @ConditionalOnMissingBean public LocalFileConfigurator localFileConfigurator() { return new LocalFileConfigurator(); } @Bean + @ConditionalOnMissingBean public MeshConfigurator meshConfigurator() { return new MeshConfigurator(); } @Bean + @ConditionalOnMissingBean public RegistryConfigureProcessor nacosConfigurator() { return new NacosConfigurator(); } @Bean + @ConditionalOnMissingBean public RegistryConfigureProcessor sofaRegistryConfigurator() { return new SofaRegistryConfigurator(); } @@ -130,16 +141,19 @@ public Map configureProcessorMap(List