This is an automated email from the ASF dual-hosted git repository. albumenj pushed a commit to branch 3.3 in repository https://gitbox.apache.org/repos/asf/dubbo.git
commit ce570dd93285ce4e5797830fc2d6f03433b5333e Merge: 2dde7ac09e b7cd1f933f Author: Albumen Kevin <[email protected]> AuthorDate: Sun Feb 4 17:25:16 2024 +0800 Merge branch 'apache-3.2' into apache-3.3 # Conflicts: # README.md # dubbo-build-tools/pom.xml # dubbo-common/src/main/java/org/apache/dubbo/config/AbstractInterfaceConfig.java # dubbo-common/src/main/java/org/apache/dubbo/config/MetricsConfig.java # dubbo-dependencies-bom/pom.xml # dubbo-dependencies/dubbo-dependencies-zookeeper-curator5/pom.xml # dubbo-dependencies/dubbo-dependencies-zookeeper/pom.xml # dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/api/pu/AbstractPortUnificationServer.java # dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyPortUnificationServerHandler.java # pom.xml README.md | 8 ++-- .../dubbo/config/AbstractInterfaceConfig.java | 18 --------- .../org/apache/dubbo/config/MetricsConfig.java | 14 ------- .../definition/builder/DefaultTypeBuilder.java | 11 ++++-- .../definition/DefaultTypeBuilderTest.java | 44 ++++++++++++++++++++++ dubbo-config/dubbo-config-api/pom.xml | 2 +- .../org/apache/dubbo/config/ReferenceConfig.java | 1 - .../org/apache/dubbo/config/ServiceConfig.java | 1 - .../src/main/resources/META-INF/dubbo.xsd | 6 --- dubbo-dependencies-bom/pom.xml | 8 ++-- .../dubbo-dependencies-zookeeper-curator5/pom.xml | 2 +- .../dubbo-dependencies-zookeeper/pom.xml | 2 +- dubbo-dependencies/pom.xml | 2 +- dubbo-distribution/pom.xml | 2 +- .../api/pu/AbstractPortUnificationServer.java | 20 ++++++---- .../netty/NettyPortUnificationServer.java | 2 +- .../transport/netty4/NettyConnectionClient.java | 7 ++-- .../netty4/NettyPortUnificationServer.java | 2 +- .../netty4/NettyPortUnificationServerHandler.java | 17 +++++---- .../rpc/protocol/tri/TriplePingPongHandler.java | 4 +- pom.xml | 4 +- 21 files changed, 95 insertions(+), 82 deletions(-) diff --cc README.md index 320551d4ad,8137d2a8d4..7e1d6569bf --- a/README.md +++ b/README.md @@@ -1,7 -1,7 +1,7 @@@ # Apache Dubbo Project [](https://github.com/apache/dubbo/actions/workflows/build-and-test-pr.yml) --[](https://codecov.io/gh/apache/dubbo) ++[](https://codecov.io/gh/apache/dubbo)   [](http://isitmaintained.com/project/apache/dubbo "Average time to resolve an issue") @@@ -86,9 -207,9 +86,9 @@@ See [CONTRIBUTING](https://github.com/a * Fix bugs reported on [issues](https://github.com/apache/dubbo/issues), and send us a pull request. * Review the existing [pull request](https://github.com/apache/dubbo/pulls). * Improve the [website](https://github.com/apache/dubbo-website), typically we need -- * blog post -- * translation on documentation -- * use cases around the integration of Dubbo in enterprise systems. ++ * blog post ++ * translation on documentation ++ * use cases around the integration of Dubbo in enterprise systems. * Improve the [dubbo-admin/dubbo-monitor](https://github.com/apache/dubbo-admin). * Contribute to the projects listed in [ecosystem](https://github.com/dubbo). * Other forms of contribution not explicitly enumerated above. diff --cc dubbo-common/src/main/java/org/apache/dubbo/config/MetricsConfig.java index 9588bf70f2,15506fa3de..5a56ed40ea --- a/dubbo-common/src/main/java/org/apache/dubbo/config/MetricsConfig.java +++ b/dubbo-common/src/main/java/org/apache/dubbo/config/MetricsConfig.java @@@ -84,14 -76,8 +84,8 @@@ public class MetricsConfig extends Abst */ private Integer collectorSyncPeriod; - /** - * Deprecated: This parameter should no longer be used and will be removed in the future. - */ - @Deprecated - private String port; - /** - * The prometheus metrics config + * Configuration for Prometheus metrics collection. */ @Nested private PrometheusConfig prometheus; diff --cc dubbo-dependencies-bom/pom.xml index c29f3ba38d,c09acad9ed..a6e9e9a22e --- a/dubbo-dependencies-bom/pom.xml +++ b/dubbo-dependencies-bom/pom.xml @@@ -93,9 -93,9 +93,9 @@@ <spring_version>5.3.25</spring_version> <spring_security_version>5.8.9</spring_security_version> <javassist_version>3.30.2-GA</javassist_version> - <bytebuddy.version>1.14.11</bytebuddy.version> + <byte-buddy_version>1.14.11</byte-buddy_version> <netty_version>3.2.10.Final</netty_version> - <netty4_version>4.1.104.Final</netty4_version> + <netty4_version>4.1.106.Final</netty4_version> <httpclient_version>4.5.14</httpclient_version> <httpcore_version>4.4.16</httpcore_version> <fastjson_version>1.2.83</fastjson_version> @@@ -156,19 -151,11 +156,19 @@@ <!-- Alibaba --> <alibaba_spring_context_support_version>1.0.11</alibaba_spring_context_support_version> + <!-- Test libs --> + <junit_jupiter_version>5.9.3</junit_jupiter_version> + <junit_version>4.13.2</junit_version> + <awaitility_version>4.2.0</awaitility_version> + <hamcrest_version>2.2</hamcrest_version> + <cglib_version>2.2.2</cglib_version> + <mockito_version>4.11.0</mockito_version> + <jaxb_version>2.2.7</jaxb_version> <activation_version>1.2.0</activation_version> - <test_container_version>1.19.3</test_container_version> + <test_container_version>1.19.4</test_container_version> <hessian_lite_version>3.2.13</hessian_lite_version> - <swagger_version>1.6.12</swagger_version> + <swagger_version>1.6.13</swagger_version> <snappy_java_version>1.1.10.5</snappy_java_version> <bouncycastle-bcprov_version>1.70</bouncycastle-bcprov_version> diff --cc dubbo-dependencies/dubbo-dependencies-zookeeper-curator5/pom.xml index 7af1e8961c,5c3b0e40dd..2e6cf66a48 --- a/dubbo-dependencies/dubbo-dependencies-zookeeper-curator5/pom.xml +++ b/dubbo-dependencies/dubbo-dependencies-zookeeper-curator5/pom.xml @@@ -31,12 -31,11 +31,12 @@@ <packaging>pom</packaging> <properties> - <revision>3.2.12-SNAPSHOT</revision> + <revision>3.3.0-beta.2-SNAPSHOT</revision> <maven_flatten_version>1.6.0</maven_flatten_version> + <slf4j_version>1.7.36</slf4j_version> <curator5_version>5.1.0</curator5_version> <zookeeper_version>3.8.3</zookeeper_version> - <spotless-maven-plugin.version>2.42.0</spotless-maven-plugin.version> + <spotless-maven-plugin.version>2.43.0</spotless-maven-plugin.version> <spotless.action>check</spotless.action> <dubbo-shared-resources.version>1.0.0</dubbo-shared-resources.version> <palantirJavaFormat.version>2.38.0</palantirJavaFormat.version> diff --cc dubbo-dependencies/dubbo-dependencies-zookeeper/pom.xml index 6361bebc19,1c6ac5b0c1..5bc75c6540 --- a/dubbo-dependencies/dubbo-dependencies-zookeeper/pom.xml +++ b/dubbo-dependencies/dubbo-dependencies-zookeeper/pom.xml @@@ -31,12 -31,11 +31,12 @@@ <packaging>pom</packaging> <properties> - <revision>3.2.12-SNAPSHOT</revision> + <revision>3.3.0-beta.2-SNAPSHOT</revision> <maven_flatten_version>1.6.0</maven_flatten_version> + <slf4j_version>1.7.36</slf4j_version> <curator_version>4.3.0</curator_version> <zookeeper_version>3.4.14</zookeeper_version> - <spotless-maven-plugin.version>2.42.0</spotless-maven-plugin.version> + <spotless-maven-plugin.version>2.43.0</spotless-maven-plugin.version> <spotless.action>check</spotless.action> <dubbo-shared-resources.version>1.0.0</dubbo-shared-resources.version> <palantirJavaFormat.version>2.38.0</palantirJavaFormat.version> diff --cc dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/api/pu/AbstractPortUnificationServer.java index c2b564b324,deab896553..e456ef9766 --- a/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/api/pu/AbstractPortUnificationServer.java +++ b/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/api/pu/AbstractPortUnificationServer.java @@@ -24,17 -23,17 +23,23 @@@ import org.apache.dubbo.remoting.Remoti import org.apache.dubbo.remoting.api.WireProtocol; import org.apache.dubbo.remoting.transport.AbstractServer; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; + import java.util.function.Function; + import java.util.stream.Collectors; +import static org.apache.dubbo.common.constants.CommonConstants.COMMA_SEPARATOR; +import static org.apache.dubbo.common.constants.CommonConstants.EXT_PROTOCOL; + public abstract class AbstractPortUnificationServer extends AbstractServer { - private final List<WireProtocol> protocols; + + /** + * extension name -> activate WireProtocol + */ + private final Map<String, WireProtocol> protocols; /* protocol name --> URL object @@@ -51,21 -50,13 +56,20 @@@ public AbstractPortUnificationServer(URL url, ChannelHandler handler) throws RemotingException { super(url, handler); - ExtensionLoader<WireProtocol> extensionLoader = - url.getOrDefaultFrameworkModel().getExtensionLoader(WireProtocol.class); - this.protocols = extensionLoader.getActivateExtension(url, new String[0]).stream() - .collect(Collectors.toConcurrentMap(extensionLoader::getExtensionName, Function.identity())); + ExtensionLoader<WireProtocol> loader = url.getOrDefaultFrameworkModel().getExtensionLoader(WireProtocol.class); - List<WireProtocol> extProtocols = new ArrayList<>(); - // load main protocol - extProtocols.add(loader.getExtension(url.getProtocol())); ++ Map<String, WireProtocol> protocols = extensionLoader.getActivateExtension(url, new String[0]).stream() ++ .collect(Collectors.toConcurrentMap(extensionLoader::getExtensionName, Function.identity())) + // load extra protocols + String extraProtocols = url.getParameter(EXT_PROTOCOL); + if (StringUtils.isNotEmpty(extraProtocols)) { + Arrays.stream(extraProtocols.split(COMMA_SEPARATOR)).forEach(p -> { - extProtocols.add(loader.getExtension(p)); ++ protocols.put(p, loader.getExtension(p)); + }); + } - this.protocols = extProtocols; ++ this.protocols = protocols; } - public List<WireProtocol> getProtocols() { + public Map<String, WireProtocol> getProtocols() { return protocols; } diff --cc dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyPortUnificationServerHandler.java index 4969cf1d2d,12ea3ffc09..fe07a9e69a --- a/dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyPortUnificationServerHandler.java +++ b/dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyPortUnificationServerHandler.java @@@ -128,14 -132,10 +132,11 @@@ public class NettyPortUnificationServer case UNRECOGNIZED: continue; case RECOGNIZED: - String protocolName = url.getOrDefaultFrameworkModel() - .getExtensionLoader(WireProtocol.class) - .getExtensionName(protocol); - ChannelHandler localHandler = this.handlerMapper.getOrDefault(protocolName, handler); - URL localURL = this.urlMapper.getOrDefault(protocolName, url); + ChannelHandler localHandler = this.handlerMapper.getOrDefault(name, handler); + URL localURL = this.urlMapper.getOrDefault(name, url); channel.setUrl(localURL); NettyConfigOperator operator = new NettyConfigOperator(channel, localHandler); + operator.setDetectResult(result); protocol.configServerProtocolHandler(url, operator); ctx.pipeline().remove(this); case NEED_MORE_DATA: diff --cc pom.xml index 4c4becbc1f,0fcbce9ecb..3fceda021e --- a/pom.xml +++ b/pom.xml @@@ -144,10 -156,16 +144,10 @@@ <maven_antrun_version>3.1.0</maven_antrun_version> <maven_os_plugin_version>1.7.1</maven_os_plugin_version> <maven_protobuf_plugin_version>0.6.1</maven_protobuf_plugin_version> - <arguments /> - <checkstyle.skip>true</checkstyle.skip> - <checkstyle_unix.skip>true</checkstyle_unix.skip> - <rat.skip>true</rat.skip> - <jacoco.skip>true</jacoco.skip> - <jprotoc_version>1.2.2</jprotoc_version> - <protobuf-java_version>3.22.3</protobuf-java_version> + <protobuf-protoc_version>3.22.3</protobuf-protoc_version> <grpc_version>1.54.0</grpc_version> - <spotless-maven-plugin.version>2.42.0</spotless-maven-plugin.version> + <spotless-maven-plugin.version>2.43.0</spotless-maven-plugin.version> <spotless.action>check</spotless.action> <dubbo-shared-resources.version>1.0.0</dubbo-shared-resources.version> <palantirJavaFormat.version>2.38.0</palantirJavaFormat.version>
