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
  
  [![Build and Test For 
PR](https://github.com/apache/dubbo/actions/workflows/build-and-test-pr.yml/badge.svg)](https://github.com/apache/dubbo/actions/workflows/build-and-test-pr.yml)
--[![Codecov](https://codecov.io/gh/apache/dubbo/branch/3.2/graph/badge.svg)](https://codecov.io/gh/apache/dubbo)
++[![Codecov](https://codecov.io/gh/apache/dubbo/branch/3.3/graph/badge.svg)](https://codecov.io/gh/apache/dubbo)
  ![Maven](https://img.shields.io/maven-central/v/org.apache.dubbo/dubbo.svg)
  ![License](https://img.shields.io/github/license/alibaba/dubbo.svg)
  [![Average time to resolve an 
issue](http://isitmaintained.com/badge/resolution/apache/dubbo.svg)](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>

Reply via email to