This is an automated email from the ASF dual-hosted git repository. albumenj pushed a commit to branch 3.3.0-beta.1-release in repository https://gitbox.apache.org/repos/asf/dubbo.git
commit a0e7ebc73563b549c508b8443259855292354a16 Merge: 7246fad6b5 c96a8f3719 Author: Albumen Kevin <[email protected]> AuthorDate: Tue Sep 26 16:37:37 2023 +0800 Merge branch 'apache-3.3' into 3.3.0-beta.1-release # Conflicts: # dubbo-common/src/main/java/org/apache/dubbo/common/constants/CommonConstants.java # dubbo-plugin/dubbo-native/pom.xml # dubbo-remoting/dubbo-remoting-netty4/src/test/java/org/apache/dubbo/remoting/transport/netty4/PortUnificationServerTest.java # dubbo-test/dubbo-test-modules/src/test/java/org/apache/dubbo/dependency/FileTest.java .artifacts | 3 +- .licenserc.yaml | 6 +- CHANGES.md | 2 +- .../rpc/cluster/directory/AbstractDirectory.java | 5 +- .../rpc/cluster/directory/StaticDirectory.java | 8 +- .../support/AbstractClusterInvokerTest.java | 1 - .../support/FailSafeClusterInvokerTest.java | 3 +- .../support/FailbackClusterInvokerTest.java | 8 +- .../dubbo/common/constants/CommonConstants.java | 4 +- .../dubbo/common/constants/MetricsConstants.java | 8 +- .../dubbo/common/constants/QosConstants.java | 2 + .../dubbo/common/logger/ErrorTypeAwareLogger.java | 15 + .../threadpool/support/AbortPolicyWithReport.java | 6 +- .../org/apache/dubbo/config/AbstractConfig.java | 36 +- .../org/apache/dubbo/config/ApplicationConfig.java | 15 + .../org/apache/dubbo/config/MetricsConfig.java | 40 ++ .../org/apache/dubbo/config/ProtocolConfig.java | 12 + .../main/resources/security/serialize.allowlist | 1 + dubbo-config/dubbo-config-api/pom.xml | 2 +- .../org/apache/dubbo/config/ReferenceConfig.java | 9 +- .../org/apache/dubbo/config/ServiceConfig.java | 25 +- .../config/deploy/DefaultApplicationDeployer.java | 1 + dubbo-config/dubbo-config-spring/pom.xml | 4 +- .../apache/dubbo/config/spring/ReferenceBean.java | 11 +- .../ReferenceAnnotationBeanPostProcessor.java | 11 +- .../annotation/ServiceAnnotationPostProcessor.java | 2 +- .../context/DubboConfigApplicationListener.java | 25 +- .../spring/context/DubboSpringInitializer.java | 16 +- .../spring/reference/ReferenceBeanManager.java | 2 +- .../src/main/resources/META-INF/dubbo.xsd | 15 + .../META-INF/isolation/dubbo-provider.xml | 2 +- ...eferenceAnnotationWithAotBeanPostProcessor.java | 512 ++------------------- .../ServiceAnnotationWithAotPostProcessor.java | 9 +- dubbo-demo/dubbo-demo-annotation/pom.xml | 2 +- dubbo-demo/dubbo-demo-api/pom.xml | 2 +- .../dubbo-demo-native-consumer/pom.xml | 2 +- .../dubbo-demo-native-provider/pom.xml | 2 +- .../dubbo-demo-spring-boot-consumer/pom.xml | 2 +- .../dubbo-demo-spring-boot-provider/pom.xml | 2 +- dubbo-demo/dubbo-demo-spring-boot/pom.xml | 6 +- dubbo-demo/dubbo-demo-xml/pom.xml | 2 +- dubbo-dependencies-bom/pom.xml | 26 +- dubbo-distribution/dubbo-all/pom.xml | 8 + dubbo-distribution/dubbo-bom/pom.xml | 5 + .../dubbo/validation/filter/ValidationFilter.java | 8 +- .../validation/support/jvalidation/JValidator.java | 66 +-- .../support/jvalidation/JValidatorNew.java | 66 +-- .../support/jvalidation/JValidatorTest.java | 92 +++- .../jvalidation/mock/JValidatorTestTarget.java | 38 ++ dubbo-metrics/dubbo-metrics-api/pom.xml | 5 + .../dubbo/metrics/aggregate/TimeWindowCounter.java | 2 +- .../metrics/collector/CombMetricsCollector.java | 6 + .../metrics/collector/MethodMetricsCollector.java | 2 + .../dubbo/metrics/collector/MetricsCollector.java | 3 + .../dubbo/metrics/data/BaseStatComposite.java | 4 + .../dubbo/metrics/data/MethodStatComposite.java | 11 + .../apache/dubbo/metrics/data/RtStatComposite.java | 4 +- .../dubbo/metrics/event/MetricsInitEvent.java | 48 ++ .../event/SimpleMetricsEventMulticaster.java | 6 - .../apache/dubbo/metrics/model/MethodMetric.java | 43 +- .../apache/dubbo/metrics/model/MetricsSupport.java | 5 + .../apache/dubbo/metrics/model/key/MetricsKey.java | 176 ------- .../dubbo/metrics/model/key/MetricsKeyWrapper.java | 2 +- .../event/SimpleMetricsEventMulticasterTest.java | 10 - .../org/apache/dubbo/metrics/DefaultConstants.java | 25 + .../collector/AggregateMetricsCollector.java | 55 ++- .../metrics/collector/DefaultMetricsCollector.java | 46 +- .../collector/HistogramMetricsCollector.java | 5 +- .../sample/MetricThreadPoolExhaustedListener.java | 2 +- .../apache/dubbo/metrics/event/RequestEvent.java | 8 +- .../apache/dubbo/metrics/filter/MetricsFilter.java | 5 +- .../metrics/report/AbstractMetricsReporter.java | 18 +- .../filter/support/MetricsClusterFilter.java | 5 +- .../collector/AggregateMetricsCollectorTest.java | 14 +- .../metrics/collector/DefaultCollectorTest.java | 20 +- .../metrics/collector/InitServiceMetricsTest.java | 153 ++++++ .../metrics/metrics/model/MethodMetricTest.java | 24 +- .../dubbo-metrics-event}/pom.xml | 20 +- .../org/apache/dubbo/metrics/MetricsConstants.java | 0 .../apache/dubbo/metrics/event/MetricsEvent.java | 23 +- .../dubbo/metrics/event/MetricsEventBus.java | 13 +- .../metrics/event/MetricsEventMulticaster.java | 0 .../dubbo/metrics/event/TimeCounterEvent.java | 2 +- .../exception/MetricsNeverHappenException.java | 0 .../dubbo/metrics/listener/MetricsListener.java | 1 - .../org/apache/dubbo/metrics/model/TimePair.java | 0 .../apache/dubbo/metrics/model/key/MetricsKey.java | 171 +++++++ .../dubbo/metrics/model/key/MetricsLevel.java | 0 .../dubbo/metrics/model/key/TypeWrapper.java | 0 .../metrics/collector/RegistryMetricsTest.java | 7 +- dubbo-metrics/pom.xml | 1 + .../dubbo-native}/pom.xml | 4 +- .../apache/dubbo/aot/api/ConditionalDescriber.java | 0 .../org/apache/dubbo/aot/api/ExecutableMode.java | 0 .../org/apache/dubbo/aot/api/FieldDescriber.java | 0 .../apache/dubbo/aot/api/JdkProxyDescriber.java | 0 .../org/apache/dubbo/aot/api/MemberCategory.java | 0 .../org/apache/dubbo/aot/api/MemberDescriber.java | 0 .../dubbo/aot/api/ProxyDescriberRegistrar.java | 0 .../aot/api/ReflectionTypeDescriberRegistrar.java | 0 .../dubbo/aot/api/ResourceBundleDescriber.java | 0 .../dubbo/aot/api/ResourceDescriberRegistrar.java | 0 .../dubbo/aot/api/ResourcePatternDescriber.java | 0 .../org/apache/dubbo/aot/api/TypeDescriber.java | 0 .../apache/dubbo/aot/generate/AotProcessor.java | 11 +- .../apache/dubbo/aot/generate/BasicJsonWriter.java | 0 .../dubbo/aot/generate/ClassSourceScanner.java | 0 .../dubbo/aot/generate/ExecutableDescriber.java | 0 .../org/apache/dubbo/aot/generate/JarScanner.java | 0 .../aot/generate/NativeClassSourceWriter.java | 0 .../aot/generate/NativeConfigurationWriter.java | 0 .../generate/ProxyConfigMetadataRepository.java | 0 .../dubbo/aot/generate/ProxyConfigWriter.java | 0 .../generate/ReflectConfigMetadataRepository.java | 0 .../dubbo/aot/generate/ReflectionConfigWriter.java | 0 .../generate/ResourceConfigMetadataRepository.java | 0 .../dubbo/aot/generate/ResourceConfigWriter.java | 0 .../apache/dubbo/aot/generate/ResourceScanner.java | 0 .../dubbo-native}/src/main/resources/Dockerfile | 0 .../aot/generate/ResourcePatternDescriberTest.java | 0 .../dubbo-plugin-loom}/pom.xml | 29 +- .../threadpool/support/loom/VirtualThreadPool.java | 42 ++ .../org.apache.dubbo.common.threadpool.ThreadPool | 1 + .../support/loom/VirtualThreadPoolTest.java | 66 +++ .../aot/QosReflectionTypeDescriberRegistrar.java | 6 + .../dubbo/qos/protocol/QosProtocolWrapper.java | 13 +- .../apache/dubbo/qos/server/QosBindException.java | 12 +- .../java/org/apache/dubbo/qos/server/Server.java | 20 +- dubbo-plugin/pom.xml | 13 + .../registry/client/ServiceDiscoveryRegistry.java | 8 +- .../client/ServiceDiscoveryRegistryDirectory.java | 12 +- .../registry/integration/DynamicDirectory.java | 2 +- .../java/org/apache/dubbo/remoting/Constants.java | 4 + .../remoting/exchange/support/DefaultFuture.java | 2 +- .../support/header/HeaderExchangeClient.java | 4 +- .../exchange/support/DefaultFutureTest.java | 37 ++ .../support/header/HeaderExchangeClientTest.java | 40 ++ .../http/restclient/HttpClientRestClient.java | 3 +- .../netty4/NettyPortUnificationServer.java | 47 +- .../remoting/transport/netty4/NettyServer.java | 29 +- .../remoting/transport/netty4/ConnectionTest.java | 6 +- .../netty4/PortUnificationServerTest.java | 24 +- .../MultiplexProtocolConnectionManagerTest.java | 7 +- .../api/SingleProtocolConnectionManagerTest.java | 3 +- .../apache/dubbo/rpc/filter/ExceptionFilter.java | 2 +- .../apache/dubbo/rpc/protocol/AbstractInvoker.java | 2 +- .../dubbo/rpc/protocol/injvm/InjvmInvoker.java | 20 +- .../dubbo/rpc/protocol/rest/RestProtocol.java | 32 ++ .../rpc/protocol/rest/constans/RestConstant.java | 5 + .../rest/extension/resteasy/ResteasyContext.java | 4 +- .../ResteasyRequestContainerFilterAdapter.java | 5 +- .../ResteasyResponseContainerFilterAdapter.java | 2 +- .../ResteasyWriterInterceptorAdapter.java | 5 +- .../rest/filter/ServiceInvokeRestFilter.java | 24 +- .../rest/filter/context/FilterContext.java | 4 + .../rest/filter/context/RestFilterContext.java | 23 + .../protocol/rest/handler/NettyHttpHandler.java | 14 +- .../rpc/protocol/rest/JaxrsRestProtocolTest.java | 23 +- .../protocol/rest/JsonCompatibilityCheckTest.java | 109 +++++ .../rpc/protocol/rest/compatibility/Apple.java | 10 +- .../rpc/protocol/rest/compatibility/Fruit.java | 8 +- .../rest/compatibility/RestDemoService.java | 31 +- .../rest/compatibility/RestDemoServiceImpl.java | 29 +- .../rest/filter/TraceRequestAndResponseFilter.java | 47 ++ .../dubbo/rpc/protocol/tri/TripleInvoker.java | 3 +- .../rpc/protocol/tri/call/AbstractServerCall.java | 3 + .../observability/pom.xml | 6 +- dubbo-spring-boot/pom.xml | 4 +- dubbo-test/dubbo-dependencies-all/pom.xml | 5 + .../java/org/apache/dubbo/dependency/FileTest.java | 2 +- .../xds/istio/IstioCitadelCertificateSigner.java | 2 +- pom.xml | 8 +- 172 files changed, 1882 insertions(+), 1090 deletions(-) diff --cc .licenserc.yaml index 3935786a0e,2199c97a86..c82362141d --- a/.licenserc.yaml +++ b/.licenserc.yaml @@@ -96,11 -96,12 +96,11 @@@ header - 'dubbo-maven-plugin/src/main/java/org/apache/dubbo/maven/plugin/aot/MatchingGroupIdFilter.java' - 'dubbo-maven-plugin/src/main/java/org/apache/dubbo/maven/plugin/aot/RunArguments.java' - 'dubbo-maven-plugin/src/main/java/org/apache/dubbo/maven/plugin/aot/RunProcess.java' - - 'dubbo-native/src/main/java/org/apache/dubbo/aot/generate/BasicJsonWriter.java' - - 'dubbo-native/src/main/java/org/apache/dubbo/aot/api/ExecutableMode.java' - - 'dubbo-native/src/main/java/org/apache/dubbo/aot/api/MemberCategory.java' + - 'dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/generate/BasicJsonWriter.java' + - 'dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/api/ExecutableMode.java' + - 'dubbo-plugin/dubbo-native/src/main/java/org/apache/dubbo/aot/api/MemberCategory.java' - 'dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/aggregate/DubboMergingDigest.java' - 'dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/aggregate/DubboAbstractTDigest.java' - - 'dubbo-annotation-processor/src/main/java/org/apache/dubbo/annotation/permit/**' - 'dubbo-common/src/main/java/org/apache/dubbo/common/logger/helpers/FormattingTuple.java' - 'dubbo-common/src/main/java/org/apache/dubbo/common/logger/helpers/MessageFormatter.java' diff --cc dubbo-common/src/main/java/org/apache/dubbo/common/constants/CommonConstants.java index f2ab8011d5,c3aea739ee..8bee034f30 --- a/dubbo-common/src/main/java/org/apache/dubbo/common/constants/CommonConstants.java +++ b/dubbo-common/src/main/java/org/apache/dubbo/common/constants/CommonConstants.java @@@ -643,11 -645,5 +645,11 @@@ public interface CommonConstants String SERVICE_DEPLOYER_ATTRIBUTE_KEY = "serviceDeployer"; - String RESTEASY_NETTY_HTTP_REQUEST_ATTRIBUTE_KEY = "resteasyNettyHttpRequest"; ++ + String DUBBO_MANUAL_REGISTER_KEY = "dubbo.application.manual-register"; + + String EXT_PROTOCOL = "ext.protocol"; + + String IS_EXTRA = "isExtra"; } diff --cc dubbo-plugin/dubbo-native/pom.xml index 449148f20a,22baa2d4e6..c812b98a71 --- a/dubbo-plugin/dubbo-native/pom.xml +++ b/dubbo-plugin/dubbo-native/pom.xml @@@ -35,6 -35,6 +35,6 @@@ <artifactId>dubbo-common</artifactId> <version>${project.parent.version}</version> </dependency> -- </dependencies> ++ </dependencies> </project> diff --cc dubbo-remoting/dubbo-remoting-netty4/src/test/java/org/apache/dubbo/remoting/transport/netty4/PortUnificationServerTest.java index da9264a346,c5b1234e0e..12f3fc8905 --- a/dubbo-remoting/dubbo-remoting-netty4/src/test/java/org/apache/dubbo/remoting/transport/netty4/PortUnificationServerTest.java +++ b/dubbo-remoting/dubbo-remoting-netty4/src/test/java/org/apache/dubbo/remoting/transport/netty4/PortUnificationServerTest.java @@@ -16,12 -16,8 +16,9 @@@ */ package org.apache.dubbo.remoting.transport.netty4; ++ import org.apache.dubbo.common.URL; import org.apache.dubbo.common.constants.CommonConstants; - import org.apache.dubbo.common.extension.ExtensionDirector; - import org.apache.dubbo.common.extension.ExtensionLoader; - import org.apache.dubbo.common.threadpool.manager.DefaultExecutorRepository; - import org.apache.dubbo.common.threadpool.manager.ExecutorRepository; import org.apache.dubbo.common.utils.NetUtils; import org.apache.dubbo.config.ApplicationConfig; import org.apache.dubbo.config.context.ConfigManager; @@@ -52,9 -33,9 +34,9 @@@ import static org.apache.dubbo.common.c class PortUnificationServerTest { @Test - void testBind() throws RemotingException { + void testBind() throws Throwable { int port = NetUtils.getAvailablePort(); - URL url = URL.valueOf("empty://127.0.0.1:" + port + "?foo=bar"); + URL url = URL.valueOf("empty://127.0.0.1:" + port + "?foo=bar&" + EXT_PROTOCOL + "=tri"); ApplicationModel applicationModel = ApplicationModel.defaultModel(); ApplicationConfig applicationConfig = new ApplicationConfig("provider-app"); applicationConfig.setExecutorManagementMode(EXECUTOR_MANAGEMENT_MODE_DEFAULT); diff --cc dubbo-test/dubbo-test-modules/src/test/java/org/apache/dubbo/dependency/FileTest.java index 66c13236b6,6059919675..b971b22908 --- a/dubbo-test/dubbo-test-modules/src/test/java/org/apache/dubbo/dependency/FileTest.java +++ b/dubbo-test/dubbo-test-modules/src/test/java/org/apache/dubbo/dependency/FileTest.java @@@ -52,7 -51,7 +51,8 @@@ class FileTest ignoredModules.add(Pattern.compile("dubbo-core-spi")); ignoredModules.add(Pattern.compile("dubbo-demo.*")); ignoredModules.add(Pattern.compile("dubbo-annotation-processor")); + ignoredModules.add(Pattern.compile("dubbo-config-spring6")); + ignoredModules.add(Pattern.compile("dubbo-plugin-loom.*")); ignoredArtifacts.add(Pattern.compile("dubbo-demo.*")); ignoredArtifacts.add(Pattern.compile("dubbo-test.*"));
