You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by al...@apache.org on 2023/03/21 09:50:41 UTC

[dubbo] branch 3.3 updated (52611099ab -> 414785c05b)

This is an automated email from the ASF dual-hosted git repository.

albumenj pushed a change to branch 3.3
in repository https://gitbox.apache.org/repos/asf/dubbo.git


    from 52611099ab Bump version to 3.3.0-beta.1-SNAPSHOT
     add 5c0002c317 Backport of remove apache-rat-plugin. (#11523) (#11592)
     add db74a61a34 Prepare 3.1.7 release
     add 3995bfc98a Add hessian allow
     add 6b6a3c90e1 Merge branch 'apache-3.1' into 3.1.7-release
     add 0731ebd769 Merge branch '3.1.7-release' into apache-3.1
     add a8bbc234d9 Bump version to 3.1.8-SNAPSHOT
     add c43b631df1 Merge branch 'apache-3.1' into apache-3.2
     add 10e7162268 Update DubboReference.java (#11621)
     add 02a59e2f40 3.2 consumer proxy invocation handler (#11108)
     add 6a8ae5c61e Bump micrometer-tracing-bom from 1.0.1 to 1.0.2 (#11607)
     add 067cb8d79b Bump maven-javadoc-plugin from 3.4.1 to 3.5.0 (#11608)
     add 3214940eb7 Bump byte-buddy from 1.13.0 to 1.14.0 (#11609)
     add 17258a996d Bump reactor-core from 3.5.2 to 3.5.3 (#11610)
     add 77724f3b7d Bump maven-failsafe-plugin from 3.0.0-M8 to 3.0.0-M9 (#11612)
     add 77a4e16ec3 Bump libthrift from 0.17.0 to 0.18.0 (#11614)
     add 57ab2819a3 Bump micrometer-bom from 1.10.3 to 1.10.4 (#11611)
     add b2353ad9ff Bump maven-surefire-plugin from 3.0.0-M8 to 3.0.0-M9 (#11613)
     add b62883c177 Bump protobuf-java from 3.21.12 to 3.22.0 (#11615)
     add 2897c85674 Enhance the way to get dubbo version (#11574)
     add 671e0f8bb9 Observability task: metadata center (#11593)
     add c5a03c9458 Rest bugfix & optimization (#11617)
     add e7925ceac7 sync meter to spring boot management (#11630)
     add 638b193c2c dubbo-security Jackson error (#11622)
     add c68faccd56 fixed broken link readme.md (#11641)
     add d52c59b94c Fix license check
     add 6db15f23d3 Merge branch 'apache-3.1' into apache-3.2
     add d57ad31299 Migration bugfix & optimization (#11629)
     add c041fa1f93 Observability task: registration center (#11493)
     add 5d070383a1 Metrics RT count optimization (#11628)
     add 837b9c5515 remove duplicate flowcontroller listener (#11642)
     add d2e9dcea33 fix: fix observation spi config (#11660)
     add 9497802ec3 Dubbo maven plugin with native (#11540)
     add 8c786cdf01 Add 'label match' support for override and tag rules (#11094)
     add 29d32afd79 fix: executor (#11652)
     add 848edaa80f Fix service name mapping check failed (#11643)
     add 9e38c48b68 fix tri wrapper pack npe (#11656)
     add 4ee5d0251b Update .licenserc.yaml
     add 7ac9949b4c Merge branch 'apache-3.1' into apache-3.2
     add a1dea63969 Fix license check
     add 57c58de0ad Fix qos command remote check (#11506)
     add f501be8cec sync reflect config (#11668)
     add c4d6f94b2c Introduce getConfig QoS Command (#11664)
     add a70cc27700 feat: optimize code (#11671)
     add e74c6381fb :recycle:refact metrics key and meter unit (#11661)
     add 7e51047cb0 delete never thrown exception (#11674)
     add 2767e538af Tag router problem fix (#11586)
     add 53eeae310f Update README.md
     add 32ada2487d Fix heartbeat failed if serialization changed (#11512)
     add 12c8ea19cc Bump grpc-java from 1.41.0 to 1.53.0 (#11681)
     add 5483693119 fix: remove redundancy exceptions (#11676)
     add 15f5b0e950 add error type metrics (#11596)
     add ed9e26f017 Code optimization (#11683)
     add dc74f131a7 Refactor GaugeMetricSample (#11692)
     add 34981c9606 add dubbo-spring-boot-observability-starter (#11579)
     add 6d6e3a5e9e Refactor metrics TimeWindow  (#11638)
     add 10681947b6 add core thread pool meter (#11693)
     add a293e7e7c8 Implement service-level payload (#11517)
     add 3902dc7b36 Rt metrics bugfix (#11694)
     add ef29a41e58 Optimize the code of metrics registry&metadata  (#11659)
     add c272af38c6 Reactor some newInstance method (#11686)
     add 48bc7165f7 fix reference bean name conflicts (#11699)
     add cd3ef2a27f tri create Http2StreamChannel async (#11698)
     add 4903cab551 abnormal time count (#11710)
     add b35312ae49 :bug: fix push metadata code location (#11712)
     add c9f320fd39 Bump spring-boot-dependencies from 2.7.8 to 2.7.9 (#11750)
     add 675d1f6a78 Bump maven-assembly-plugin from 3.4.2 to 3.5.0 (#11749)
     add 7600d6c109 Bump maven-compiler-plugin from 3.7.0 to 3.11.0 (#11748)
     add e24b284d57 Bump native-maven-plugin from 0.9.19 to 0.9.20 (#11747)
     add 338e194ce2 Bump maven-plugin-annotations from 3.7.1 to 3.8.1 (#11746)
     add 9830eda07f Bump maven-common-artifact-filters from 3.2.0 to 3.3.2 (#11744)
     add 8eb77895fa Bump maven-core from 3.8.7 to 3.9.0 (#11743)
     add 0c64ce7dd6 Bump tomcat-embed-core from 8.5.85 to 8.5.87 (#11742)
     add ea6a3273d0 Bump spring-boot-starter-test from 2.7.8 to 2.7.9 (#11741)
     add 03838ad97e Bump jetty-maven-plugin from 9.4.50.v20221201 to 9.4.51.v20230217 (#11740)
     add 30de082266 Bump spring-boot.version from 2.7.8 to 2.7.9 (#11739)
     add 0351087891 Bump jetty_version from 9.4.50.v20221201 to 9.4.51.v20230217 (#11738)
     add e81e756211 Bump log4j2_version from 2.19.0 to 2.20.0 (#11736)
     add 80621216c8 Bump resteasy_version from 3.15.3.Final to 3.15.6.Final (#11735)
     add cbc1161983 Bump maven-plugin-api from 3.5.4 to 3.9.0 (#11734)
     add 66d6ffdbec Bump bytebuddy.version from 1.13.0 to 1.14.0 (#11733)
     add ba10851888 Bump libthrift from 0.18.0 to 0.18.1 (#11732)
     add ea90151e45 Bump maven-plugin-plugin from 3.7.1 to 3.8.1 (#11731)
     add 516c61bc5a Bump spring-boot-maven-plugin from 2.7.8 to 2.7.9 (#11745)
     add 4be3c796cc optimize the multi params request performance of triple in wrap mode (#11672)
     add f8f89f2a71 replaced with EN assert (#11670)
     add a21d04255a Fix issue 11708 (#11714)
     add 7277c159cf fix reference bean name conflicts (#11699)
     add d7113006ca Merge branch 'apache-3.1' into apache-3.2
     add d3d8c54c74 fix: add micrometer bom to observability & optimize the structure of the package (#11724)
     add d0b98b3090 improve NacosNamingServiceWrapper performance (#11665)
     add 92a1051516 Bump protobuf-java.version from 3.19.6 to 3.22.0 (#11737)
     add 0a9b19c306 Exact to support dynamic cert (#11578)
     add 11f45d8726 Feature/resolve samples dependency conflict (#11705)
     add 16c61c53c6 Fix metadata proxy load filter (#11769)
     add 6c557d1caf Merge branch 'apache-3.1' into apache-3.2
     add 27420cf68a [fix]Override the method of Object.clone(), but not implements Cloneable (#11761)
     add 8d1152d86d :bug:Fix/consumer provider metrics name cover (#11753)
     add 14f2d79693 Fixed the issue where core thread metrics were in effect(#11704) (#11752)
     add d0a1bd0143 Fix recreate client after destroy (#11780)
     add 8e3af257b1 Merge branch 'apache-3.1' into apache-3.2
     add a8a8eda38f Fix uts
     add ba14a201e7 Sync when destroy (#11783)
     add 34cc45fb7a Fix bug #11767 (#11781)
     add 80793ce41a Merge branch 'apache-3.1' into apache-3.2
     add ea7af7a294 Fix ut
     add 87eb3fdda8 Fix metrics publisher NPE
     add 100a442a1f Fix hessian list
     add 234f1c64ab Fix lock acquire blocked
     add 179e1e78c0 Merge branch 'apache-3.1' into apache-3.2
     add ffb2bbbffc Fix uts
     add 31635d5c43 Merge branch 'apache-3.1' into apache-3.2
     add 5d50209404 Cert npe bug fix (#11800)
     add 338c32804e Bump byte-buddy from 1.14.0 to 1.14.1 (#11804)
     add d2d4f1e6cb Bump spring-security-bom from 5.8.1 to 5.8.2 (#11801)
     add b4f8c18a1d Bump protobuf-java from 3.22.0 to 3.22.2 (#11802)
     add 9c644f1809 🐛 fix thread pool metrics be gc recycle problem (#11793)
     add 9ea6094349 Reuse qos port for metrics (#11719)
     add 27c614ba1d Bump bytebuddy.version from 1.14.0 to 1.14.1 (#11808)
     add 03562680ee fix remove unused param (#11787)
     add e6ee6088bf Remove redundant synchronized (#11811)
     add 69edf4ef8c Dynamically generate native image config (#11795)
     add eeab34eb67 Bump bytebuddy.version from 1.14.1 to 1.14.2 (#11814)
     add 96dfd20c10 Reactor tri diy exception api (#11829)
     add df0241b6dd fix npe (#11830)
     add 8b063766c9 gc bug fix (#11842)
     add c0574962ec fix npe in the native compilation phase (#11837)
     add a9bff0d6e9 add commit id metrics (#11843)
     add d061b29b39 Some code optimization (#11825)
     add c8e7ef7892 1. Fix HeaderExchangeChannel close potential bug (#11834)
     add 13f53368bb Bump micrometer-bom from 1.10.4 to 1.10.5 (#11821)
     add 91b7f5a1c8 Bump byte-buddy from 1.14.1 to 1.14.2 (#11815)
     add 7a4bcde906 Bump protobuf-java.version from 3.22.0 to 3.22.2 (#11810)
     add c76607dadc Add spring configuration for QOS function. (#11823)
     add 6cb053a8d6 Bump micrometer-core from 1.10.4 to 1.10.5 (#11820)
     add d093579106 Bump micrometer-tracing-bom from 1.0.2 to 1.0.3 (#11819)
     add 6b7a735a4d Triple read compressor from config (#11850)
     add 3fafcc47b1 Prepare 3.2.0-beta.6 release
     add 9824850387 Merge branch 'apache-3.2' into 3.2.0-beta.6-release
     add daf0d7ce3e Merge branch 'apache-3.2' into 3.2.0-beta.6-release
     add 33951abe51 Merge branch 'apache-3.2' into 3.2.0-beta.6-release
     add 48f3169809 Merge branch '3.2.0-beta.6-release' into apache-3.2
     add a6ef8910ca Fix 2.6.x LoadBalance SPI not work (#11730)
     add b19f89bef7 Fix issue #11790 (#11824)
     add 4f6528fb86 Call onClose() when deser error (#11838)
     add ae28d17897 Prepare 3.1.8 release
     add 436e203283 Merge branch 'apache-3.1' into 3.1.8-release
     add 569c3f5a36 Merge branch 'apache-3.1' into 3.1.8-release
     add e368fdeef6 Merge branch 'apache-3.1' into 3.1.8-release
     add 1927e9206c Merge branch '3.1.8-release' into apache-3.1
     add 7d9e955cf8 Bump to 3.1.9-SNAPSHOT
     add f742e25ba2 Merge branch 'apache-3.1' into apache-3.2
     add ae259ce21b Bump maven-surefire-plugin from 3.0.0-M9 to 3.0.0 (#11847)
     add cb0cdafc5a Bump reactor-core from 3.5.3 to 3.5.4 (#11845)
     add f131a5d5b4 Bump maven-failsafe-plugin from 3.0.0-M9 to 3.0.0 (#11846)
     add af3f75aced ShutdownHook may be executed in advance, affecting CI results (#11848)
     add ec9eecfc82 gc bug (#11855)
     add 06605365c5 splits qos-api pkg (#11853)
     add 2f4944e853 Interface level registry metrics (#11786)
     add d574ab01f9 Fix issue 11844 (#11851)
     add 0862819991 Fix SlidingWindow test case bug (#11858)
     add 9a5726499f Make json framework optional (#11856)
     add 6296c4401d add classes of java.util.x into serialize.allowlist file to avoid compatibility issues in the future (#11872)
     add 46aff44c2f Support choose local invoke in runtime instead of startup (#11531)
     add 7bc8de4de9 add nop for prometheus metrics (#11806)
     new 414785c05b Merge branch 'apache-3.2' into apache-3.3

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .github/workflows/build-and-test-pr.yml            |  21 +-
 .github/workflows/build-and-test-scheduled-3.1.yml |   8 +-
 .github/workflows/build-and-test-scheduled-3.2.yml |   8 +-
 .github/workflows/release-test.yml                 |   8 +-
 .gitignore                                         |   5 +-
 .licenserc.yaml                                    |  37 +-
 README.md                                          |  16 +-
 codestyle/checkstyle-suppressions.xml              |   3 +-
 dubbo-cluster/pom.xml                              |  12 +
 .../dubbo/rpc/cluster/ConfiguratorFactory.java     |   3 +-
 .../org/apache/dubbo/rpc/cluster/Constants.java    |   6 +-
 .../apache/dubbo/rpc/cluster/RouterFactory.java    |   3 +-
 .../cluster/configurator/AbstractConfigurator.java | 153 ++++++---
 .../override/OverrideConfigurator.java             |   4 +
 .../cluster/configurator/parser/ConfigParser.java  |  21 +-
 .../configurator/parser/model/ConditionMatch.java  |  98 ++++++
 .../configurator/parser/model/ConfigItem.java      |  32 +-
 .../parser/model/ConfiguratorConfig.java           |   1 +
 .../configurator/parser/model/ParamMatch.java      |  58 ++++
 .../rpc/cluster/directory/AbstractDirectory.java   |  54 ++-
 .../DefaultGovernanceRuleRepositoryImpl.java       |   2 +-
 .../cluster/loadbalance/AdaptiveLoadBalance.java   |   2 +-
 .../rpc/cluster/loadbalance/RandomLoadBalance.java |   4 +-
 .../cluster/loadbalance/RoundRobinLoadBalance.java |   4 +-
 .../loadbalance/ShortestResponseLoadBalance.java   |   6 +-
 .../rpc/cluster/router/AbstractRouterRule.java     |  11 +
 .../router/condition/ConditionStateRouter.java     | 227 ++++---------
 .../condition/config/AppStateRouterFactory.java    |   2 +
 .../condition/config/ListenableStateRouter.java    |   4 +-
 .../condition/config/ProviderAppStateRouter.java   |  77 +++++
 .../config/ProviderAppStateRouterFactory.java      |  36 ++
 .../matcher/AbstractConditionMatcher.java          | 138 ++++++++
 .../router/condition/matcher/ConditionMatcher.java |  61 ++++
 .../condition/matcher/ConditionMatcherFactory.java |  43 +++
 .../matcher/argument/ArgumentConditionMatcher.java |  72 ++++
 .../argument/ArgumentConditionMatcherFactory.java  |  37 ++
 .../attachment/AttachmentConditionMatcher.java     |  76 +++++
 .../AttachmentConditionMatcherFactory.java         |  37 ++
 .../matcher/param/UrlParamConditionMatcher.java    |  41 +++
 .../param/UrlParamConditionMatcherFactory.java     |  36 ++
 .../condition/matcher/pattern/ValuePattern.java    |  47 +++
 .../matcher/pattern/range/RangeValuePattern.java   |  84 +++++
 .../pattern/wildcard/WildcardValuePattern.java     |  41 +++
 .../cluster/router/mesh/route/MeshRuleCache.java   |   7 +-
 .../rule/virtualservice/match/AddressMatch.java    |  80 +++++
 .../rule/virtualservice/match/StringMatch.java     |  15 +-
 .../script/config/AppScriptRouterFactory.java      |  32 ++
 .../router/script/config/AppScriptStateRouter.java | 150 ++++++++
 .../router/script/config/model/ScriptRule.java     |  70 ++++
 .../cluster/router/state/AbstractStateRouter.java  |   4 +-
 .../dubbo/rpc/cluster/router/state/BitList.java    |   2 +-
 .../cluster/router/state/StateRouterFactory.java   |   3 +-
 .../rpc/cluster/router/tag/TagStateRouter.java     |  47 ++-
 .../rpc/cluster/router/tag/model/ParamMatch.java   |  47 +++
 .../dubbo/rpc/cluster/router/tag/model/Tag.java    |  36 +-
 .../cluster/router/tag/model/TagRouterRule.java    |  61 +++-
 .../cluster/router/tag/model/TagRuleParser.java    |   3 +-
 .../cluster/support/AbstractClusterInvoker.java    |   2 +-
 .../cluster/support/wrapper/AbstractCluster.java   |   9 +-
 .../support/wrapper/ScopeClusterInvoker.java       | 225 ++++++++++++
 .../support/wrapper/ScopeClusterWrapper.java       |  46 +++
 .../internal/org.apache.dubbo.rpc.cluster.Cluster  |   3 +-
 ...outer.condition.matcher.ConditionMatcherFactory |   4 +
 ...r.router.condition.matcher.pattern.ValuePattern |   2 +
 ...bbo.rpc.cluster.router.state.StateRouterFactory |   2 +
 .../apache/dubbo/rpc/cluster/ConfiguratorTest.java |   2 +-
 .../apache/dubbo/rpc/cluster/RouterChainTest.java  |  10 +-
 .../override/OverrideConfiguratorTest.java         |  79 +++++
 .../configurator/parser/ConfigParserTest.java      |  71 ++++
 .../rpc/cluster/directory/StaticDirectoryTest.java |   3 +
 .../filter/DefaultFilterChainBuilderTest.java      |   8 +-
 .../cluster/router/RouterSnapshotFilterTest.java   |   6 +
 .../router/condition/ConditionStateRouterTest.java | 120 +++++++
 .../ProviderAppConditionStateRouterTest.java       |  97 ++++++
 .../cluster/router/file/FileRouterEngineTest.java  |   3 +
 .../router/mesh/route/MeshRuleCacheTest.java       |  15 +-
 .../script/config/AppScriptStateRouterTest.java    | 100 ++++++
 .../rpc/cluster/router/tag/TagStateRouterTest.java | 127 +++++++
 .../support/AbstractClusterInvokerTest.java        |  30 +-
 .../rpc/cluster/support/ClusterUtilsTest.java      |   2 +-
 .../support/ConnectivityValidationTest.java        |   3 +
 .../support/FailoverClusterInvokerTest.java        |  12 +-
 .../DefaultProviderURLMergeProcessorTest.java      |   2 +-
 .../support/wrapper/MockClusterInvokerTest.java    |   3 +
 .../wrapper/MockProviderRpcExceptionTest.java      |   3 +
 .../support/wrapper/ScopeClusterInvokerTest.java   | 282 +++++++++++++++
 .../src/test/resources/AppAnyServices.yml          |   2 +-
 .../src/test/resources/ConfiguratorV3.yml          |  40 +++
 .../test/resources/ConfiguratorV3Compatibility.yml |  38 +++
 .../src/test/resources/ConfiguratorV3Duplicate.yml |  43 +++
 dubbo-cluster/src/test/resources/ScriptRule.yaml   |  35 ++
 dubbo-cluster/src/test/resources/log4j.xml         |  10 +-
 dubbo-common/pom.xml                               |  38 ++-
 .../dubbo/common/CommonScopeModelInitializer.java  |   2 +
 .../src/main/java/org/apache/dubbo/common/URL.java |  31 +-
 .../java/org/apache/dubbo/common/URLBuilder.java   |   4 +-
 .../java/org/apache/dubbo/common/URLStrParser.java |   4 +-
 .../main/java/org/apache/dubbo/common/Version.java |  28 +-
 .../common/beans/factory/ScopeBeanFactory.java     |  21 +-
 .../dubbo/common/beanutil/JavaBeanDescriptor.java  |   2 +-
 .../org/apache/dubbo/common/bytecode/Mixin.java    |   2 +-
 .../apache/dubbo/common/cache/FileCacheStore.java  |   8 +-
 .../apache/dubbo/common/config/Environment.java    |   4 +-
 .../dubbo/common/config/ModuleEnvironment.java     |   4 +-
 .../config/OrderedPropertiesConfiguration.java     |   2 +-
 .../dubbo/common/config/PrefixedConfiguration.java |   4 +-
 .../wrapper/CompositeDynamicConfiguration.java     |   2 +-
 .../dubbo/common/constants/CommonConstants.java    |   4 +
 .../common/constants/LoggerCodeConstants.java      |   9 +
 .../extension/AdaptiveClassCodeGenerator.java      |   9 +-
 .../dubbo/common/extension/ExtensionLoader.java    |  18 +-
 .../apache/dubbo/common/function/Predicates.java   |   4 +-
 .../org/apache/dubbo/common/function/Streams.java  |   1 +
 .../dubbo/common/function/ThrowableConsumer.java   |   1 -
 .../common/infra/support/EnvironmentAdapter.java   |   5 +
 .../java/org/apache/dubbo/common/io/Bytes.java     |   4 +-
 .../java/org/apache/dubbo/common/json/JSON.java    |   1 -
 .../dubbo/common/json/impl/FastJson2Impl.java      |   1 -
 .../dubbo/common/json/impl/FastJsonImpl.java       |   1 +
 .../apache/dubbo/common/json/impl/JacksonImpl.java |   3 +
 .../dubbo/common/lang/ShutdownHookCallbacks.java   |   8 +-
 .../apache/dubbo/common/logger/LoggerFactory.java  |   6 +-
 .../dubbo/common/logger/log4j/Log4jLogger.java     |   4 +
 .../org/apache/dubbo/common/ssl/AuthPolicy.java    |  23 ++
 .../java/org/apache/dubbo/common/ssl/Cert.java     |  67 ++++
 .../org/apache/dubbo/common/ssl/CertManager.java   |  55 +++
 .../org/apache/dubbo/common/ssl/CertProvider.java  |  30 ++
 .../org/apache/dubbo/common/ssl/ProviderCert.java  |  35 ++
 .../common/ssl/impl/SSLConfigCertProvider.java     |  80 +++++
 .../common/store/support/SimpleDataStore.java      |   8 +-
 .../common/threadpool/ThreadlessExecutor.java      |   2 +-
 .../manager/DefaultExecutorRepository.java         |   1 -
 .../dubbo/common/threadpool/manager/Ring.java      |   2 +-
 .../common/url/component/ServiceAddressURL.java    |  17 +
 .../apache/dubbo/common/utils/AnnotationUtils.java |  10 +
 .../java/org/apache/dubbo/common/utils/Assert.java |  12 +
 .../common/utils/ClassLoaderResourceLoader.java    |   4 +-
 .../apache/dubbo/common/utils/CollectionUtils.java |   4 +-
 .../dubbo/common/utils/CompatibleTypeUtils.java    |   6 +-
 .../dubbo/common/utils/ConcurrentHashSet.java      |   4 +-
 .../org/apache/dubbo/common/utils/ConfigUtils.java |   2 +-
 .../org/apache/dubbo/common/utils/IOUtils.java     |  12 +
 .../org/apache/dubbo/common/utils/LFUCache.java    |   6 +-
 .../org/apache/dubbo/common/utils/LRU2Cache.java   |   2 +-
 .../org/apache/dubbo/common/utils/LogUtil.java     |   2 +-
 .../org/apache/dubbo/common/utils/NetUtils.java    |  31 +-
 .../org/apache/dubbo/common/utils/PojoUtils.java   |   8 +-
 .../java/org/apache/dubbo/common/utils/Stack.java  |   2 +-
 .../org/apache/dubbo/common/utils/TimeUtils.java   |  78 +++++
 .../org/apache/dubbo/config/AbstractConfig.java    |   6 +
 .../dubbo/config/AbstractInterfaceConfig.java      |  23 +-
 .../apache/dubbo/config/AbstractMethodConfig.java  |   4 +
 .../apache/dubbo/config/AbstractServiceConfig.java |  14 +
 .../java/org/apache/dubbo/config/Constants.java    |   2 +-
 .../org/apache/dubbo/config/MetricsConfig.java     |  32 +-
 .../apache/dubbo/config/ReferenceConfigBase.java   |   3 +
 .../org/apache/dubbo/config/RegistryConfig.java    |   6 +
 .../org/apache/dubbo/config/ServiceConfigBase.java |   6 +-
 .../java/org/apache/dubbo/config/SslConfig.java    |  44 +++
 .../dubbo/config/annotation/DubboReference.java    |   2 +-
 .../dubbo/config/annotation/DubboService.java      |   5 +
 .../config/context/AbstractConfigManager.java      |   4 +-
 .../config/context/ConfigConfigurationAdapter.java |   2 +-
 .../apache/dubbo/config/context/ConfigManager.java |   4 +-
 .../dubbo/config/context/ModuleConfigManager.java  |   2 +-
 .../dubbo/config/nested/AggregationConfig.java     |   4 +-
 .../dubbo/config/nested/PrometheusConfig.java      |   8 +-
 .../metadata/definition/TypeDefinitionBuilder.java |   2 +-
 .../dubbo/rpc/executor/DefaultExecutorSupport.java |   4 +-
 .../apache/dubbo/rpc/model/ApplicationModel.java   |  11 +
 .../org/apache/dubbo/rpc/model/FrameworkModel.java |  12 +-
 .../rpc/model/FrameworkServiceRepository.java      |  11 +-
 .../org/apache/dubbo/rpc/model/ModuleModel.java    |   6 +
 .../org/apache/dubbo/rpc/model/PackableMethod.java |   5 +
 .../org/apache/dubbo/rpc/model/ScopeModel.java     |  37 +-
 .../apache/dubbo/rpc/model/ServiceRepository.java  |   6 +-
 .../org.apache.dubbo.common.ssl.CertProvider       |   1 +
 dubbo-common/src/main/resources/META-INF/version   |   1 +
 .../main/resources/security/serialize.allowlist    |   4 +
 .../org/apache/dubbo/common/URLStrParserTest.java  |   3 +-
 .../test/java/org/apache/dubbo/common/URLTest.java |  10 +-
 .../dubbo/common/bytecode/ClassGeneratorTest.java  |   6 +-
 .../apache/dubbo/common/bytecode/MixinTest.java    |   4 +-
 .../compiler/support/AdaptiveCompilerTest.java     |   4 +-
 .../compiler/support/JavassistCompilerTest.java    |  14 +-
 .../common/compiler/support/JdkCompilerTest.java   |  22 +-
 .../AbstractDynamicConfigurationTest.java          |  14 +-
 .../java/org/apache/dubbo/common/io/BytesTest.java |   6 +-
 .../dubbo/common/logger/LoggerAdapterTest.java     |  11 +-
 .../org/apache/dubbo/common/logger/LoggerTest.java |  11 +-
 .../resource/GlobalResourcesRepositoryTest.java    |   4 +-
 .../apache/dubbo/common/ssl/CertManagerTest.java   | 105 ++++++
 .../apache/dubbo/common/ssl/FirstCertProvider.java |  56 +++
 .../common/ssl/SSLConfigCertProviderTest.java      | 124 +++++++
 .../dubbo/common/ssl/SecondCertProvider.java       |  56 +++
 .../status/support/LoadStatusCheckerTest.java      |   4 +-
 .../status/support/MemoryStatusCheckerTest.java    |   4 +-
 .../threadlocal/InternalThreadLocalTest.java       |   8 +-
 .../MemoryLimitedLinkedBlockingQueueTest.java      |   4 +-
 .../MemorySafeLinkedBlockingQueueTest.java         |   4 +-
 .../support/AbortPolicyWithReportTest.java         |   8 +-
 .../support/cached/CachedThreadPoolTest.java       |   4 +-
 .../support/eager/EagerThreadPoolExecutorTest.java |   6 +-
 .../support/eager/EagerThreadPoolTest.java         |   4 +-
 .../support/limited/LimitedThreadPoolTest.java     |   4 +-
 .../dubbo/common/utils/AnnotationUtilsTest.java    |   4 +-
 .../apache/dubbo/common/utils/ArrayUtilsTest.java  |   6 +-
 .../common/utils/AtomicPositiveIntegerTest.java    |  22 +-
 .../apache/dubbo/common/utils/ClassUtilsTest.java  |  14 +-
 .../dubbo/common/utils/CollectionUtilsTest.java    |  28 +-
 .../apache/dubbo/common/utils/LFUCacheTest.java    |  10 +-
 .../apache/dubbo/common/utils/LRU2CacheTest.java   |   6 +-
 .../apache/dubbo/common/utils/LogHelperTest.java   |  12 +-
 .../org/apache/dubbo/common/utils/LogTest.java     |  10 +-
 .../org/apache/dubbo/common/utils/LogUtilTest.java |  18 +-
 .../apache/dubbo/common/utils/MemberUtilsTest.java |   2 +-
 .../apache/dubbo/common/utils/NetUtilsTest.java    |  42 +--
 .../apache/dubbo/common/utils/ParametersTest.java  |   4 +-
 .../dubbo/common/utils/ReflectUtilsTest.java       |   8 +-
 .../apache/dubbo/common/utils/TimeUtilsTest.java   |  30 ++
 .../apache/dubbo/common/version/VersionTest.java   |  12 +-
 .../definition/ServiceDefinitionBuilderTest.java   |   4 +-
 .../apache/dubbo/rpc/model/ScopeModelUtilTest.java |   7 +
 .../org.apache.dubbo.common.ssl.CertProvider       |   2 +
 dubbo-common/src/test/resources/META-INF/version   |   3 +
 dubbo-common/src/test/resources/certs/ca.pem       |  15 +
 dubbo-common/src/test/resources/certs/cert.pem     |  18 +
 dubbo-common/src/test/resources/certs/key.pem      |  16 +
 .../com/alibaba/dubbo/qos/command/BaseCommand.java |   4 +-
 .../alibaba/dubbo/qos/command/CommandContext.java  |   4 +-
 .../main/java/com/alibaba/dubbo/rpc/Invoker.java   |   5 +
 .../main/java/com/alibaba/dubbo/rpc/Result.java    |   5 +
 .../dubbo/rpc/cluster/ConfiguratorFactory.java     |   3 +-
 .../apache/dubbo/config/ApplicationConfigTest.java |  32 +-
 .../apache/dubbo/config/ArgumentConfigTest.java    |   8 +-
 .../org/apache/dubbo/config/MethodConfigTest.java  |  30 +-
 .../org/apache/dubbo/gen/AbstractGenerator.java    |  21 +-
 dubbo-config/dubbo-config-api/pom.xml              |  18 +
 .../org/apache/dubbo/config/ReferenceConfig.java   |  67 ++--
 .../org/apache/dubbo/config/ServiceConfig.java     |  33 +-
 .../dubbo/config/bootstrap/DubboBootstrap.java     |  12 +-
 .../config/deploy/DefaultApplicationDeployer.java  |  17 +-
 .../invoker/DelegateProviderMetaDataInvoker.java   |   2 +-
 .../apache/dubbo/config/AbstractConfigTest.java    |  36 +-
 .../dubbo/config/AbstractMethodConfigTest.java     |  24 +-
 .../dubbo/config/AbstractReferenceConfigTest.java  |  32 +-
 .../dubbo/config/AbstractServiceConfigTest.java    |  40 +--
 .../apache/dubbo/config/ApplicationConfigTest.java |  30 +-
 .../apache/dubbo/config/ArgumentConfigTest.java    |  10 +-
 .../apache/dubbo/config/ConsumerConfigTest.java    |  21 +-
 .../apache/dubbo/config/ReferenceConfigTest.java   | 109 ++----
 .../org/apache/dubbo/config/cache/CacheTest.java   |   4 +-
 .../DelegateProviderMetaDataInvokerTest.java       |   4 +-
 dubbo-config/dubbo-config-spring/pom.xml           |   2 +-
 .../ReferenceAnnotationBeanPostProcessor.java      |  19 +-
 .../ConfigurableSourceBeanMetadataElement.java     |   2 +-
 .../context/DubboConfigApplicationListener.java    |   2 +-
 .../spring/context/DubboConfigBeanInitializer.java |   2 +-
 .../spring/context/DubboSpringInitContext.java     |   2 +-
 .../context/DubboSpringInitCustomizerHolder.java   |   3 +-
 .../spring/context/DubboSpringInitializer.java     |   2 +-
 .../context/event/DubboApplicationStateEvent.java  |   2 +-
 .../src/main/resources/META-INF/dubbo.xsd          |  52 ++-
 .../ReferenceAnnotationBeanPostProcessorTest.java  |  29 +-
 .../spring/issues/issue6000/Issue6000Test.java     |   4 +-
 .../spring/issues/issue6252/Issue6252Test.java     |   4 +-
 .../spring/issues/issue7003/Issue7003Test.java     |   4 +-
 .../support/nacos/NacosConfigServiceWrapper.java   |   2 +-
 .../support/nacos/NacosDynamicConfiguration.java   |   4 +-
 .../support/zookeeper/CacheListener.java           |   2 +-
 .../support/zookeeper/ZookeeperDataListener.java   |   8 +-
 .../zookeeper/ZookeeperDynamicConfiguration.java   |   4 +-
 .../ZookeeperDynamicConfigurationFactory.java      |   5 +-
 dubbo-demo/dubbo-demo-annotation/pom.xml           |   2 +-
 dubbo-demo/dubbo-demo-api/pom.xml                  |   2 +-
 dubbo-demo/dubbo-demo-interface/pom.xml            |  14 +
 .../org/apache/dubbo/demo/RestDemoService.java     |  54 ++-
 .../src/main/java/po/TestPO.java                   |  69 ++++
 .../dubbo-demo-native-consumer/pom.xml             |  92 +----
 .../META-INF/native-image/proxy-config.json        |   0
 .../META-INF/native-image/reflect-config.json      |  17 +
 .../dubbo-demo-native-provider/pom.xml             |  93 +----
 .../src/main/resources/Log4j.properties            |  12 +-
 .../META-INF/native-image/reflect-config.json      |  25 ++
 .../META-INF/native-image/resource-config.json     |  13 +
 .../dubbo-demo-spring-boot-consumer/pom.xml        |  11 +-
 .../demo/consumer/ObservationConfiguration.java    | 215 ------------
 .../dubbo-demo-spring-boot-provider/pom.xml        |  10 +-
 .../demo/provider/ObservationConfiguration.java    | 214 ------------
 dubbo-demo/dubbo-demo-spring-boot/pom.xml          |  22 +-
 dubbo-demo/dubbo-demo-triple/pom.xml               |   4 +-
 .../apache/dubbo/demo/consumer/Application.java    |  31 +-
 .../dubbo/demo/provider/RestDemoServiceImpl.java   |  37 ++
 dubbo-demo/dubbo-demo-xml/pom.xml                  |   2 +-
 dubbo-dependencies-bom/pom.xml                     |  46 ++-
 dubbo-distribution/dubbo-all/pom.xml               |  90 ++++-
 dubbo-distribution/dubbo-apache-release/pom.xml    |   2 +-
 dubbo-distribution/dubbo-bom/pom.xml               |  31 ++
 dubbo-distribution/dubbo-core-spi/pom.xml          |   2 +-
 .../dubbo/cache/support/expiring/ExpiringMap.java  |   4 +-
 .../apache/dubbo/cache/support/lfu/LfuCache.java   |   4 +
 .../cache/support/jcache/JCacheFactoryTest.java    |   4 +-
 .../validation/support/jvalidation/JValidator.java |   8 +-
 .../support/jvalidation/JValidatorNew.java         |  10 +-
 .../validation/filter/ValidationFilterTest.java    |  12 +-
 .../support/jvalidation/JValidatorTest.java        |   4 +-
 .../kubernetes/KubernetesServiceDiscoveryTest.java |  29 +-
 dubbo-maven-plugin/pom.xml                         | 109 ++++++
 .../dubbo/maven/plugin/aot/AbstractAotMojo.java    | 219 ++++++++++++
 .../plugin/aot/AbstractDependencyFilterMojo.java   | 172 ++++++++++
 .../dubbo/maven/plugin/aot/CommandLineBuilder.java | 136 ++++++++
 .../dubbo/maven/plugin/aot/DependencyFilter.java   |  83 +++++
 .../maven/plugin/aot/DubboProcessAotMojo.java      | 102 ++++++
 .../org/apache/dubbo/maven/plugin/aot/Exclude.java |  26 ++
 .../dubbo/maven/plugin/aot/ExcludeFilter.java      |  50 +++
 .../maven/plugin/aot/FilterableDependency.java     |  70 ++++
 .../org/apache/dubbo/maven/plugin/aot/Include.java |  26 ++
 .../dubbo/maven/plugin/aot/IncludeFilter.java      |  46 +++
 .../aot/JavaCompilerPluginConfiguration.java       | 107 ++++++
 .../dubbo/maven/plugin/aot/JavaExecutable.java     |  71 ++++
 .../maven/plugin/aot/JavaProcessExecutor.java      | 102 ++++++
 .../maven/plugin/aot/MatchingGroupIdFilter.java    |  47 +++
 .../dubbo/maven/plugin/aot/RunArguments.java       |  68 ++++
 .../apache/dubbo/maven/plugin/aot/RunProcess.java  | 169 +++++++++
 dubbo-metadata/dubbo-metadata-api/pom.xml          |   8 -
 .../dubbo/metadata/AbstractServiceNameMapping.java |   1 -
 .../apache/dubbo/metadata/MetadataConstants.java   |  38 ++-
 .../dubbo/metadata/ParameterTypesComparator.java   |  49 +++
 .../AbstractAnnotatedMethodParameterProcessor.java |  30 +-
 .../AbstractNoAnnotatedParameterProcessor.java     |  68 ++++
 .../rest/AbstractServiceRestMetadataResolver.java  | 113 ++++--
 .../rest/AnnotatedMethodParameterProcessor.java    |  15 +-
 .../org/apache/dubbo/metadata/rest/ArgInfo.java    | 151 +++++++++
 .../dubbo/metadata/rest/JAXRSClassConstants.java   |  62 ++++
 .../NoAnnotatedParameterRequestTagProcessor.java   |  32 ++
 .../org/apache/dubbo/metadata/rest/ParamType.java  |  97 ++++++
 .../apache/dubbo/metadata/rest/PathMatcher.java    | 146 ++++++++
 .../org/apache/dubbo/metadata/rest/PathUtil.java   | 157 +++++++++
 .../dubbo/metadata/rest/RequestMetadata.java       |  19 +-
 .../dubbo/metadata/rest/RestMetadataConstants.java |  20 ++
 .../dubbo/metadata/rest/RestMethodMetadata.java    |  67 +++-
 .../dubbo/metadata/rest/ServiceRestMetadata.java   | 104 +++++-
 .../metadata/rest/ServiceRestMetadataResolver.java |   7 +-
 .../metadata/rest/SpringMvcClassConstants.java     |  51 +++
 .../rest/jaxrs/BodyParameterProcessor.java         |  52 +++
 .../rest/jaxrs/DefaultValueParameterProcessor.java |   5 +-
 .../rest/jaxrs/FormParamParameterProcessor.java    |   2 +-
 .../rest/jaxrs/HeaderParamParameterProcessor.java  |   5 +-
 .../jaxrs/JAXRSServiceRestMetadataResolver.java    |  12 +
 .../rest/jaxrs/MatrixParamParameterProcessor.java  |   2 +-
 .../jaxrs/ParamAnnotationParameterProcessor.java   |   3 +-
 .../rest/jaxrs/PathParamParameterProcessor.java    |  37 ++
 .../rest/jaxrs/QueryParamParameterProcessor.java   |   2 +-
 .../dubbo/metadata/rest/media/MediaType.java       |  46 +++
 .../springmvc/FormBodyNoAnnotatedProcessor.java    |  41 +++
 .../springmvc/JsonBodyNoAnnotatedProcessor.java    |  36 ++
 .../rest/springmvc/ParamNoAnnotatedProcessor.java  |  43 +++
 .../springmvc/PathVariableParameterProcessor.java  |  43 +++
 .../springmvc/RequestBodyParameterProcessor.java   |  46 +++
 .../springmvc/RequestHeaderParameterProcessor.java |   5 +-
 .../springmvc/RequestParamParameterProcessor.java  |   6 +-
 .../SpringMvcServiceRestMetadataResolver.java      |  15 +
 .../apache/dubbo/metadata/rest/tag/BodyTag.java    |  20 ++
 ...metadata.rest.AnnotatedMethodParameterProcessor |   6 +-
 ...ta.rest.NoAnnotatedParameterRequestTagProcessor |   3 +
 .../metadata/AbstractServiceNameMappingTest.java   |   2 +-
 .../apache/dubbo/metadata/MetadataInfoTest.java    |  17 +
 .../org/apache/dubbo/metadata/PathMatcherTest.java |  32 ++
 .../report/support/AbstractMetadataReportTest.java |  14 +-
 .../dubbo/metadata/rest/DefaultRestService.java    |  15 +
 .../apache/dubbo/metadata/rest/RestService.java    |   4 +
 .../dubbo/metadata/rest/SpringRestService.java     |  26 +-
 .../dubbo/metadata/rest/StandardRestService.java   |  24 ++
 .../metadata/rest/api/AnotherUserRestService.java  |  45 +++
 .../dubbo/metadata/rest/api/JaxrsRestService.java  |  65 ++++
 .../metadata/rest/api/JaxrsRestServiceImpl.java    |  50 +++
 .../dubbo/metadata/rest/api/SpringRestService.java |  52 +++
 .../metadata/rest/api/SpringRestServiceImpl.java   |  53 +++
 .../JAXRSServiceRestMetadataResolverTest.java      |  86 ++++-
 .../SpringMvcServiceRestMetadataResolverTest.java  |  67 +++-
 .../AbstractAnnotationProcessingTest.java          |   2 +-
 .../metadata/store/nacos/MockConfigService.java    |  16 +-
 .../store/redis/RedisMetadataReportTest.java       |   2 +-
 dubbo-metrics/dubbo-metrics-api/pom.xml            |   5 -
 .../org/apache/dubbo/metrics/DubboMetrics.java     |  35 --
 .../org/apache/dubbo/metrics/aggregate/Pane.java   | 126 +++++++
 .../dubbo/metrics/aggregate/SlidingWindow.java     | 299 ++++++++++++++++
 .../dubbo/metrics/aggregate/TimeWindowCounter.java |  81 +++--
 .../metrics/aggregate/TimeWindowQuantile.java      |  69 ++--
 .../collector/ApplicationMetricsCollector.java     |   8 +-
 .../dubbo/metrics/collector/MetricsCollector.java  |   9 +-
 .../event/GlobalMetricsEventMulticaster.java       |  12 +-
 .../apache/dubbo/metrics/event/MethodEvent.java    |  37 ++
 .../apache/dubbo/metrics/event/MetricsEvent.java   |  35 +-
 .../event/SimpleMetricsEventMulticaster.java       |  15 +-
 .../AbstractDefaultDubboObservationConvention.java |  63 ----
 .../DefaultDubboClientObservationConvention.java   |  89 -----
 .../DefaultDubboServerObservationConvention.java   |  45 ---
 .../filter/observation/DubboClientContext.java     |  48 ---
 .../DubboClientObservationConvention.java          |  30 --
 .../filter/observation/DubboObservation.java       | 119 -------
 .../filter/observation/DubboServerContext.java     |  46 ---
 .../DubboServerObservationConvention.java          |  30 --
 .../metrics/listener/MetricsLifeListener.java      |   6 +-
 .../dubbo/metrics/listener/MetricsListener.java    |   3 +-
 .../dubbo/metrics/model/ApplicationMetric.java     |  14 +-
 .../apache/dubbo/metrics/model/MethodMetric.java   |  13 +-
 .../org/apache/dubbo/metrics/model/MetricsKey.java | 107 ++++--
 .../dubbo/metrics/model/MetricsKeyWrapper.java     |   4 +-
 .../org/apache/dubbo/metrics/model/TimePair.java   |   5 +
 .../model/container/AtomicLongContainer.java       |  35 ++
 .../model/container/LongAccumulatorContainer.java  |  28 ++
 .../metrics/model/container/LongContainer.java     | 112 ++++++
 .../metrics/model/sample/GaugeMetricSample.java    |  40 ++-
 .../AbstractDefaultDubboObservationConvention.java |  63 ++++
 .../DefaultDubboClientObservationConvention.java   |  89 +++++
 .../DefaultDubboServerObservationConvention.java   |  45 +++
 .../metrics/observation/DubboClientContext.java    |  48 +++
 .../DubboClientObservationConvention.java          |  30 ++
 .../metrics/observation/DubboObservation.java      | 119 +++++++
 .../metrics/observation/DubboServerContext.java    |  46 +++
 .../DubboServerObservationConvention.java          |  30 ++
 .../dubbo/metrics/report/MetricsReporter.java      |   4 +
 .../metrics/report/MetricsReporterFactory.java     |   3 +-
 .../apache/dubbo/metrics/aggregate/PaneTest.java   |  72 ++++
 .../dubbo/metrics/aggregate/SlidingWindowTest.java | 137 ++++++++
 .../metrics/aggregate/TimeWindowCounterTest.java   |  16 +-
 .../metrics/aggregate/TimeWindowQuantileTest.java  |   8 +-
 .../event/SimpleMetricsEventMulticasterTest.java   |   8 +-
 dubbo-metrics/dubbo-metrics-default/pom.xml        |   6 +
 .../org/apache/dubbo/metrics/DubboMetrics.java     |  41 +++
 .../metrics/MetricsScopeModelInitializer.java      |   2 +-
 .../collector/AggregateMetricsCollector.java       | 160 +++++----
 .../metrics/collector/DefaultMetricsCollector.java |  14 +-
 .../collector/sample/MethodMetricsSampler.java     |  84 ++---
 .../sample/MetricsCountSampleConfigurer.java       |   1 -
 .../collector/sample/MetricsCountSampler.java      |  24 +-
 .../metrics/collector/sample/MetricsSampler.java   |   1 -
 .../sample/SimpleMetricsCountSampler.java          | 144 +++++---
 .../collector/sample/ThreadPoolMetricsSampler.java | 106 ++++--
 .../metrics/filter/MethodMetricsInterceptor.java   |  94 ++---
 .../dubbo/metrics/filter/MetricsClusterFilter.java |  80 +++++
 .../apache/dubbo/metrics/filter/MetricsFilter.java |  10 +-
 .../observation/ObservationReceiverFilter.java     |   7 +-
 .../observation/ObservationSenderFilter.java       |   7 +-
 .../metrics/report/AbstractMetricsReporter.java    |  71 ++--
 .../metrics/report/nop/NopMetricsReporter.java     |  10 +
 .../metrics/service/DefaultMetricsService.java     |   6 +-
 .../dubbo/internal/org.apache.dubbo.rpc.Filter     |   3 +-
 ...g.apache.dubbo.rpc.cluster.filter.ClusterFilter |   3 +-
 .../collector/AggregateMetricsCollectorTest.java   |  33 +-
 .../dubbo/metrics/filter/MetricsFilterTest.java    | 118 ++++++-
 .../collector/DefaultMetricsCollectorTest.java     |  42 ++-
 .../model/sample/GaugeMetricSampleTest.java        |  18 +-
 .../observation/ObservationReceiverFilterTest.java |   2 +-
 .../observation/ObservationSenderFilterTest.java   |   2 +-
 .../dubbo/metrics/sampler/CountSamplerTest.java    | 192 +++++++++++
 dubbo-metrics/dubbo-metrics-metadata/pom.xml       |  40 +++
 .../collector/MetadataMetricsCollector.java        | 111 ++++++
 .../collector/stat/MetadataStatComposite.java      | 127 +++++++
 .../metrics/metadata/event/MetadataEvent.java      | 109 ++++++
 .../event/MetadataMetricsEventMulticaster.java     |  31 ++
 .../metadata/event/MetricsPushListener.java        |  49 +++
 .../metadata/event/MetricsSubscribeListener.java   |  49 +++
 ...apache.dubbo.metrics.collector.MetricsCollector |   1 +
 .../metadata/MetadataMetricsCollectorTest.java     | 165 +++++++++
 .../metadata/MetadataStatCompositeTest.java        |  67 ++++
 dubbo-metrics/dubbo-metrics-prometheus/pom.xml     |   6 +
 .../prometheus/NopPrometheusMetricsReporter.java   |  42 +++
 .../prometheus/PrometheusMetricsReporter.java      |  54 +--
 .../prometheus/PrometheusMetricsReporterCmd.java   | 142 ++++++++
 .../PrometheusMetricsReporterFactory.java          |  33 +-
 .../internal/org.apache.dubbo.qos.api.BaseCommand  |   1 +
 .../prometheus/PrometheusMetricsReporterTest.java  |  33 +-
 dubbo-metrics/dubbo-metrics-registry/pom.xml       |  40 +++
 .../collector/RegistryMetricsCollector.java        | 135 ++++++++
 .../collector/stat/RegistryStatComposite.java      | 195 +++++++++++
 .../registry/collector/stat/ServiceKeyMetric.java  |  79 +++++
 .../registry/event/MetricsDirectoryListener.java   |  43 +++
 .../registry/event/MetricsNotifyListener.java      |  54 +++
 .../registry/event/MetricsRegisterListener.java    |  52 +++
 .../event/MetricsServiceRegisterListener.java      |  51 +++
 .../event/MetricsServiceSubscribeListener.java     |  52 +++
 .../registry/event/MetricsSubscribeListener.java   |  52 +++
 .../metrics/registry/event/RegistryEvent.java      | 223 ++++++++++++
 .../event/RegistryMetricsEventMulticaster.java     |  35 ++
 ...apache.dubbo.metrics.collector.MetricsCollector |   1 +
 .../collector/RegistryMetricsCollectorTest.java    | 113 ++++++
 .../collector/RegistryMetricsSampleTest.java       |  95 ++++++
 .../collector/RegistryStatCompositeTest.java       |  67 ++++
 dubbo-metrics/pom.xml                              |   2 +
 .../org/apache/dubbo/monitor/MonitorFactory.java   |   3 +-
 .../dubbo/monitor/dubbo/DubboMonitorTest.java      |   4 +-
 .../dubbo/monitor/dubbo/MetricsFilterTest.java     |   6 +-
 dubbo-native-plugin/pom.xml                        |   4 +-
 .../metrics/MetricsReporterFactory$Adaptive.java   |  33 --
 .../common/threadpool/ThreadPool$Adaptive.java     |  30 --
 .../IsolationExecutorSupportFactory$Adaptive.java  |  33 --
 .../META-INF/native-image/reflect-config.json      | 121 ++++++-
 dubbo-native/pom.xml                               |  40 ---
 .../apache/dubbo/aot/generate/AotProcessor.java    |  54 +++
 .../apache/dubbo/aot/generate/BasicJsonWriter.java | 288 ++++++++++++++++
 .../dubbo/aot/generate/ClassSourceScanner.java     | 174 ++++++++++
 .../dubbo/aot/generate/ConditionalDescriber.java   |  26 ++
 .../dubbo/aot/generate/ExecutableDescriber.java    |  72 ++++
 .../apache/dubbo/aot/generate/ExecutableMode.java  |  48 +++
 .../apache/dubbo/aot/generate/FieldDescriber.java  |  38 +++
 .../org/apache/dubbo/aot/generate/JarScanner.java  | 146 ++++++++
 .../apache/dubbo/aot/generate/MemberCategory.java  | 125 +++++++
 .../apache/dubbo/aot/generate/MemberDescriber.java |  40 +++
 .../aot/generate/NativeClassSourceWriter.java      |  76 +++++
 .../aot/generate/NativeConfigurationWriter.java    |  85 +++++
 .../generate/ReflectConfigMetadataRepository.java  |  67 ++++
 .../dubbo/aot/generate/ReflectionConfigWriter.java | 134 ++++++++
 .../aot/generate/ResourceBundleDescriber.java      |  70 ++++
 .../generate/ResourceConfigMetadataRepository.java |  72 ++++
 .../dubbo/aot/generate/ResourceConfigWriter.java   |  87 +++++
 .../aot/generate/ResourcePatternDescriber.java     |  58 ++++
 .../apache/dubbo/aot/generate/ResourceScanner.java |  57 ++++
 .../apache/dubbo/aot/generate/TypeDescriber.java   |  74 ++++
 .../metrics/MetricsReporterFactory$Adaptive.java   |  33 --
 .../common/serialize/Serialization$Adaptive.java   |  45 ---
 .../common/threadpool/ThreadPool$Adaptive.java     |  30 --
 .../report/MetadataReportFactory$Adaptive.java     |  33 --
 .../dubbo/monitor/MonitorFactory$Adaptive.java     |  30 --
 .../dubbo/registry/RegistryFactory$Adaptive.java   |  30 --
 .../org/apache/dubbo/remoting/Codec$Adaptive.java  |  41 ---
 .../org/apache/dubbo/remoting/Codec2$Adaptive.java |  41 ---
 .../apache/dubbo/remoting/Dispatcher$Adaptive.java |  30 --
 .../dubbo/remoting/Transporter$Adaptive.java       |  39 ---
 .../pu/PortUnificationTransporter$Adaptive.java    |  39 ---
 .../remoting/exchange/Exchanger$Adaptive.java      |  39 ---
 .../org/apache/dubbo/rpc/Protocol$Adaptive.java    |  49 ---
 .../apache/dubbo/rpc/ProxyFactory$Adaptive.java    |  50 ---
 .../apache/dubbo/rpc/cluster/Cluster$Adaptive.java |  37 --
 .../rpc/cluster/ConfiguratorFactory$Adaptive.java  |  30 --
 .../dubbo/rpc/cluster/LoadBalance$Adaptive.java    |  31 --
 .../dubbo/rpc/cluster/RouterFactory$Adaptive.java  |  30 --
 .../router/state/StateRouterFactory$Adaptive.java  |  30 --
 .../IsolationExecutorSupportFactory$Adaptive.java  |  33 --
 .../java/org/apache/dubbo/utils/ClassFinder.java   |  92 -----
 .../java/org/apache/dubbo/utils/CodeGenerator.java | 109 ------
 .../aot/generate/ResourcePatternDescriberTest.java |  28 ++
 .../apache/dubbo/auth/AccessKeyAuthenticator.java  |   2 +-
 .../dubbo/auth/filter/ConsumerSignFilter.java      |   2 +-
 .../dubbo/auth/filter/ProviderAuthFilter.java      |   2 +-
 dubbo-plugin/dubbo-qos-api/pom.xml                 |  46 +++
 .../java/org/apache/dubbo/qos/api/BaseCommand.java |  30 ++
 .../main/java/org/apache/dubbo/qos/api/Cmd.java    |  66 ++++
 .../org/apache/dubbo/qos/api/CommandContext.java   | 101 ++++++
 .../org/apache/dubbo/qos/api/PermissionLevel.java  |  67 ++++
 .../org/apache/dubbo/qos/api/QosConfiguration.java | 150 ++++++++
 dubbo-plugin/dubbo-qos/pom.xml                     |   5 +
 .../org/apache/dubbo/qos/command/BaseCommand.java  |  25 --
 .../apache/dubbo/qos/command/CommandContext.java   | 103 ------
 .../dubbo/qos/command/CommandContextFactory.java   |   2 +
 .../apache/dubbo/qos/command/CommandExecutor.java  |   1 +
 .../dubbo/qos/command/DefaultCommandExecutor.java  |  23 +-
 .../apache/dubbo/qos/command/annotation/Cmd.java   |  68 ----
 .../qos/command/decoder/HttpCommandDecoder.java    |  17 +-
 .../qos/command/decoder/TelnetCommandDecoder.java  |   2 +-
 .../apache/dubbo/qos/command/impl/BaseOffline.java |   6 +-
 .../apache/dubbo/qos/command/impl/BaseOnline.java  |   4 +-
 .../dubbo/qos/command/impl/ChangeTelnet.java       |   8 +-
 .../apache/dubbo/qos/command/impl/CountTelnet.java |   8 +-
 .../qos/command/impl/DisableDetailProfiler.java    |   6 +-
 .../qos/command/impl/DisableRouterSnapshot.java    |   6 +-
 .../qos/command/impl/DisableSimpleProfiler.java    |   6 +-
 .../qos/command/impl/EnableDetailProfiler.java     |   6 +-
 .../qos/command/impl/EnableRouterSnapshot.java     |   6 +-
 .../qos/command/impl/EnableSimpleProfiler.java     |   6 +-
 .../apache/dubbo/qos/command/impl/GetConfig.java   | 200 +++++++++++
 .../qos/command/impl/GetEnabledRouterSnapshot.java |   6 +-
 .../qos/command/impl/GetRecentRouterSnapshot.java  |   6 +-
 .../dubbo/qos/command/impl/GetRouterSnapshot.java  |   8 +-
 .../org/apache/dubbo/qos/command/impl/Help.java    |  12 +-
 .../dubbo/qos/command/impl/InvokeTelnet.java       |   8 +-
 .../org/apache/dubbo/qos/command/impl/Live.java    |   8 +-
 .../apache/dubbo/qos/command/impl/LoggerInfo.java  |   6 +-
 .../java/org/apache/dubbo/qos/command/impl/Ls.java |   8 +-
 .../org/apache/dubbo/qos/command/impl/Offline.java |   2 +-
 .../apache/dubbo/qos/command/impl/OfflineApp.java  |   2 +-
 .../dubbo/qos/command/impl/OfflineInterface.java   |   2 +-
 .../org/apache/dubbo/qos/command/impl/Online.java  |   2 +-
 .../apache/dubbo/qos/command/impl/OnlineApp.java   |   2 +-
 .../dubbo/qos/command/impl/OnlineInterface.java    |   2 +-
 .../apache/dubbo/qos/command/impl/PortTelnet.java  |   8 +-
 .../dubbo/qos/command/impl/PublishMetadata.java    |   6 +-
 .../apache/dubbo/qos/command/impl/PwdTelnet.java   |   6 +-
 .../org/apache/dubbo/qos/command/impl/Quit.java    |   8 +-
 .../org/apache/dubbo/qos/command/impl/Ready.java   |   8 +-
 .../dubbo/qos/command/impl/SelectTelnet.java       |   6 +-
 .../qos/command/impl/SerializeCheckStatus.java     |   6 +-
 .../qos/command/impl/SerializeWarnedClasses.java   |   6 +-
 .../qos/command/impl/SetProfilerWarnPercent.java   |   6 +-
 .../dubbo/qos/command/impl/ShutdownTelnet.java     |   8 +-
 .../org/apache/dubbo/qos/command/impl/Startup.java |  10 +-
 .../dubbo/qos/command/impl/SwitchLogLevel.java     |   6 +-
 .../dubbo/qos/command/impl/SwitchLogger.java       |   6 +-
 .../org/apache/dubbo/qos/command/impl/Version.java |   6 +-
 .../dubbo/qos/command/util/CommandHelper.java      |   4 +-
 .../apache/dubbo/qos/common/QosConfiguration.java  | 118 -------
 .../DefaultAnonymousAccessPermissionChecker.java   |  29 +-
 .../dubbo/qos/permission/PermissionChecker.java    |   3 +-
 .../dubbo/qos/permission/PermissionLevel.java      |  67 ----
 .../qos/probe/impl/ProviderReadinessProbe.java     |   4 +-
 .../dubbo/qos/protocol/QosProtocolWrapper.java     |   6 +-
 .../org/apache/dubbo/qos/pu/QosWireProtocol.java   |   4 +-
 .../org/apache/dubbo/qos/pu/TelnetDetector.java    |  23 +-
 .../java/org/apache/dubbo/qos/server/Server.java   |   4 +-
 .../server/handler/ForeignHostPermitHandler.java   |  36 +-
 .../qos/server/handler/HttpProcessHandler.java     |   4 +-
 .../qos/server/handler/QosProcessHandler.java      |   2 +-
 .../qos/server/handler/TelnetProcessHandler.java   |   4 +-
 .../internal/org.apache.dubbo.qos.api.BaseCommand  |  37 ++
 .../org.apache.dubbo.qos.command.BaseCommand       |  36 --
 .../qos/command/CommandContextFactoryTest.java     |   5 +-
 .../dubbo/qos/command/CommandContextTest.java      |   5 +-
 .../qos/command/DefaultCommandExecutorTest.java    |  13 +-
 .../apache/dubbo/qos/command/GreetingCommand.java  |   4 +-
 .../command/decoder/HttpCommandDecoderTest.java    |   8 +-
 .../command/decoder/TelnetCommandDecoderTest.java  |   4 +-
 .../dubbo/qos/command/impl/ChangeTelnetTest.java   |   6 +-
 .../dubbo/qos/command/impl/CountTelnetTest.java    |   6 +-
 .../dubbo/qos/command/impl/GetConfigTest.java      | 140 ++++++++
 .../apache/dubbo/qos/command/impl/HelpTest.java    |   8 +-
 .../dubbo/qos/command/impl/InvokeTelnetTest.java   |   4 +-
 .../apache/dubbo/qos/command/impl/LiveTest.java    |   2 +-
 .../org/apache/dubbo/qos/command/impl/LsTest.java  |   2 +-
 .../apache/dubbo/qos/command/impl/OfflineTest.java |   2 +-
 .../apache/dubbo/qos/command/impl/OnlineTest.java  |   2 +-
 .../dubbo/qos/command/impl/PortTelnetTest.java     |   6 +-
 .../qos/command/impl/PublishMetadataTest.java      |   2 +-
 .../dubbo/qos/command/impl/PwdTelnetTest.java      |   6 +-
 .../apache/dubbo/qos/command/impl/QuitTest.java    |   4 +-
 .../apache/dubbo/qos/command/impl/ReadyTest.java   |   4 +-
 .../dubbo/qos/command/impl/SelectTelnetTest.java   |   6 +-
 .../qos/command/impl/SerializeCheckStatusTest.java |   2 +-
 .../command/impl/SerializeWarnedClassesTest.java   |   2 +-
 .../dubbo/qos/command/impl/ShutdownTelnetTest.java |   6 +-
 .../apache/dubbo/qos/command/impl/StartupTest.java |   4 +-
 .../dubbo/qos/command/util/CommandHelperTest.java  |  15 +-
 .../legacy/service/generic/GenericServiceTest.java |   4 +-
 ...efaultAnonymousAccessPermissionCheckerTest.java |  83 +++++
 .../dubbo/qos/protocol/QosProtocolWrapperTest.java |   2 +-
 .../handler/ForeignHostPermitHandlerTest.java      |   4 +-
 .../qos/server/handler/HttpProcessHandlerTest.java |   4 +-
 .../qos/server/handler/QosProcessHandlerTest.java  |   2 +-
 .../server/handler/TelnetProcessHandlerTest.java   |   4 +-
 ...ommand => org.apache.dubbo.qos.api.BaseCommand} |   0
 dubbo-plugin/dubbo-security/pom.xml                | 131 +++++++
 .../org/apache/dubbo/security/cert/CertConfig.java |  82 +++++
 .../dubbo/security/cert/CertDeployerListener.java  |  68 ++++
 .../org/apache/dubbo/security/cert/CertPair.java   |  70 ++++
 .../security/cert/CertScopeModelInitializer.java   |  54 +++
 .../org/apache/dubbo/security/cert/Constants.java  |  21 ++
 .../dubbo/security/cert/DubboCertManager.java      | 377 +++++++++++++++++++++
 .../dubbo/security/cert/DubboCertProvider.java     |  64 ++++
 .../dubbo-security/src/main/proto/ca.proto         |  47 +++
 ...e.dubbo.common.deploy.ApplicationDeployListener |   1 +
 .../org.apache.dubbo.common.ssl.CertProvider       |   1 +
 ...rg.apache.dubbo.rpc.model.ScopeModelInitializer |   1 +
 .../security/cert/CertDeployerListenerTest.java    | 242 +++++++++++++
 .../dubbo/security/cert/DubboCertManagerTest.java  | 284 ++++++++++++++++
 .../dubbo/security/cert/DubboCertProviderTest.java | 150 ++++++++
 .../src/test/resources/certs/broken-ca.crt         |   7 +
 .../dubbo-security/src/test/resources/certs/ca.crt |  15 +
 .../dubbo-security/src/test/resources/certs/token  |   1 +
 dubbo-plugin/dubbo-spring-security/pom.xml         |  13 +
 .../AuthenticationExceptionTranslatorFilter.java   |   4 +-
 .../ContextHolderAuthenticationPrepareFilter.java  |  11 +-
 .../ContextHolderAuthenticationResolverFilter.java |  10 +-
 .../spring/security/jackson/ObjectMapperCodec.java | 114 +++++++
 .../jackson/ObjectMapperCodecCustomer.java         |  27 ++
 .../model/SecurityScopeModelInitializer.java       |  57 ++++
 .../spring/security/utils/ObjectMapperCodec.java   |  66 ----
 ...rg.apache.dubbo.rpc.model.ScopeModelInitializer |   1 +
 .../security/jackson/ObjectMapperCodecTest.java    |  72 ++++
 dubbo-plugin/pom.xml                               |   2 +
 dubbo-registry/dubbo-registry-api/pom.xml          |  25 ++
 .../registry/client/AbstractServiceDiscovery.java  |  39 ++-
 .../dubbo/registry/client/InstanceAddressURL.java  |  60 ++++
 .../registry/client/ServiceDiscoveryRegistry.java  |  21 +-
 .../client/ServiceDiscoveryRegistryDirectory.java  |  80 ++++-
 .../listener/ServiceInstancesChangedListener.java  |  48 ++-
 .../metadata/MetadataServiceNameMapping.java       |  28 +-
 .../registry/client/metadata/MetadataUtils.java    |   2 +-
 .../DefaultMigrationAddressComparator.java         |   9 +-
 .../client/migration/MigrationInvoker.java         |  19 +-
 .../client/migration/MigrationRuleHandler.java     |  14 +-
 .../client/migration/MigrationRuleListener.java    |  72 ++--
 .../integration/AbstractConfiguratorListener.java  |   6 +-
 .../registry/integration/DynamicDirectory.java     |  11 +-
 .../registry/integration/RegistryDirectory.java    |  45 ++-
 .../java/org/apache/dubbo/registry/ZKTools.java    |   2 +-
 .../client/ServiceDiscoveryRegistryTest.java       |   1 +
 .../metadata/MetadataServiceNameMappingTest.java   |   4 +-
 .../DefaultMigrationAddressComparatorTest.java     |   5 +-
 .../client/migration/MigrationInvokerTest.java     |  14 +-
 .../client/migration/MigrationRuleHandlerTest.java |   8 +-
 .../migration/MigrationRuleListenerTest.java       |   4 +-
 .../client/migration/model/MigrationRuleTest.java  |  10 +-
 .../registry/integration/DynamicDirectoryTest.java |   5 +
 .../registry/integration/RegistryProtocolTest.java |  11 +-
 .../support/AbstractRegistryFactoryTest.java       |   6 +-
 .../registry/support/AbstractRegistryTest.java     |   3 +-
 .../registry/nacos/NacosNamingServiceWrapper.java  |  44 +--
 .../dubbo/registry/nacos/MockNamingService.java    |  92 ++---
 .../nacos/NacosConnectionsManagerTest.java         |  26 +-
 .../nacos/NacosNamingServiceWrapperTest.java       |  24 +-
 .../java/org/apache/dubbo/remoting/Constants.java  |  14 +-
 .../dubbo/remoting/buffer/ChannelBuffer.java       |   8 +
 .../remoting/buffer/DynamicChannelBuffer.java      |   5 +
 .../dubbo/remoting/exchange/HeartBeatRequest.java  |  33 ++
 .../dubbo/remoting/exchange/HeartBeatResponse.java |  33 ++
 .../apache/dubbo/remoting/exchange/Request.java    |  16 +-
 .../remoting/exchange/codec/ExchangeCodec.java     |  20 +-
 .../support/header/HeaderExchangeChannel.java      |  33 +-
 .../exchange/support/header/HeartbeatHandler.java  |  10 +-
 .../dubbo/remoting/transport/AbstractCodec.java    |  13 +
 .../dubbo/remoting/exchange/RequestTest.java       |   2 +
 .../exchange/support/DefaultFutureTest.java        |   2 +-
 .../remoting/transport/AbstractCodecTest.java      |  32 +-
 dubbo-remoting/dubbo-remoting-http/pom.xml         |  20 +-
 .../apache/dubbo/remoting/http/BaseRestClient.java |  43 +++
 .../dubbo/remoting/http/RequestTemplate.java       | 303 +++++++++++++++++
 .../org/apache/dubbo/remoting/http/RestClient.java |  50 +++
 .../org/apache/dubbo/remoting/http/RestResult.java |  35 ++
 .../remoting/http/config/HttpClientConfig.java     |  62 ++++
 .../http/factory/AbstractHttpClientFactory.java    |  87 +++++
 .../remoting/http/factory/RestClientFactory.java   |  38 +++
 .../http/factory/impl/ApacheHttpClientFactory.java |  37 ++
 .../http/factory/impl/OkHttpClientFactory.java     |  36 ++
 .../factory/impl/URLConnectionClientFactory.java   |  36 ++
 .../http/restclient/HttpClientRestClient.java      | 153 +++++++++
 .../remoting/http/restclient/OKHttpRestClient.java | 144 ++++++++
 .../http/restclient/URLConnectionRestClient.java   | 181 ++++++++++
 ...e.dubbo.remoting.http.factory.RestClientFactory |   4 +
 .../http/jetty/JettyLoggerAdapterTest.java         |   4 +-
 .../transport/netty/ClientToServerTest.java        |   2 +-
 .../remoting/transport/netty/NettyStringTest.java  |   4 +-
 .../transport/netty4/NettyBackedChannelBuffer.java |   6 +
 .../remoting/transport/netty4/NettyClient.java     |  10 +-
 .../transport/netty4/NettyConnectionClient.java    |   8 +-
 .../netty4/NettyPortUnificationServer.java         |  12 +-
 .../netty4/NettyPortUnificationServerHandler.java  |  41 ++-
 .../remoting/transport/netty4/NettyServer.java     |   6 +-
 .../transport/netty4/ssl/SslClientTlsHandler.java  |   2 +-
 .../remoting/transport/netty4/ssl/SslContexts.java |  40 ++-
 .../transport/netty4/ssl/SslServerTlsHandler.java  |  59 ++--
 .../transport/netty4/RpcMessageHandler.java        |   2 +-
 .../MultiplexProtocolConnectionManagerTest.java    |   1 -
 .../curator5/Curator5ZookeeperClientTest.java      |   8 +-
 .../curator5/Curator5ZookeeperTransporterTest.java |   2 +-
 .../support/AbstractZookeeperTransporterTest.java  |  10 +-
 .../curator/CuratorZookeeperClientTest.java        |  10 +-
 .../support/AbstractZookeeperTransporterTest.java  |  10 +-
 .../main/java/org/apache/dubbo/rpc/Constants.java  |   2 +
 .../java/org/apache/dubbo/rpc/RpcException.java    |   5 +
 .../org/apache/dubbo/rpc/RpcServiceContext.java    |  11 +
 .../apache/dubbo/rpc/filter/AccessLogFilter.java   | 108 ++++--
 .../apache/dubbo/rpc/filter/GenericImplFilter.java |   4 +-
 .../dubbo/rpc/listener/ExporterChangeListener.java |  27 ++
 .../listener/ExporterScopeModelInitializer.java    |  41 +++
 .../dubbo/rpc/listener/InjvmExporterListener.java  |  79 +++++
 .../dubbo/rpc/protocol/AbstractProxyProtocol.java  |  51 +--
 .../dubbo/rpc/protocol/InvokerCountWrapper.java    |  57 ++++
 .../rpc/protocol/ProtocolListenerWrapper.java      |  10 +-
 .../rpc/protocol/ReferenceCountInvokerWrapper.java |  87 +++++
 .../dubbo/internal/org.apache.dubbo.rpc.Protocol   |   1 +
 ...rg.apache.dubbo.rpc.model.ScopeModelInitializer |   1 +
 .../java/org/apache/dubbo/rpc/RpcContextTest.java  |   2 -
 .../dubbo/rpc/filter/AccessLogFilterTest.java      |  93 ++++-
 .../dubbo/rpc/filter/ActiveLimitFilterTest.java    |   4 +-
 .../apache/dubbo/rpc/filter/TimeoutFilterTest.java |   4 +-
 .../rpc/filter/tps/DefaultTPSLimiterTest.java      |   8 +-
 .../apache/dubbo/rpc/proxy/AbstractProxyTest.java  |   4 +-
 .../dubbo-rpc-api/src/test/resources/log4j.xml     |  10 +-
 .../rpc/protocol/dubbo/ChannelWrappedInvoker.java  |  17 +-
 .../dubbo/rpc/protocol/dubbo/DubboCodec.java       |  22 +-
 .../dubbo/rpc/protocol/dubbo/DubboInvoker.java     |  22 +-
 .../rpc/protocol/dubbo/ArgumentCallbackTest.java   |   6 +-
 .../protocol/dubbo/DubboInvokerAvailableTest.java  |   4 +-
 .../rpc/protocol/dubbo/DubboProtocolTest.java      |  10 +-
 dubbo-rpc/dubbo-rpc-injvm/pom.xml                  |   5 -
 .../dubbo/rpc/protocol/injvm/InjvmProtocol.java    |   3 +-
 .../rpc/protocol/injvm/InjvmClassLoaderTest.java   |   4 +-
 .../rpc/protocol/injvm/InjvmProtocolTest.java      |  24 +-
 .../dubbo/rpc/protocol/injvm/ProtocolTest.java     |   3 +-
 dubbo-rpc/dubbo-rpc-rest/pom.xml                   |  40 ++-
 .../rpc/protocol/rest/BaseRestProtocolServer.java  |  12 +-
 .../apache/dubbo/rpc/protocol/rest/Constants.java  |  14 +-
 .../rpc/protocol/rest/DubboHttpProtocolServer.java |   9 +-
 .../rpc/protocol/rest/DubboResourceFactory.java    |  22 +-
 .../rpc/protocol/rest/NettyRestProtocolServer.java |   7 +-
 .../rpc/protocol/rest/ReferenceCountedClient.java  |  49 ++-
 .../dubbo/rpc/protocol/rest/RestProtocol.java      | 291 ++++++++--------
 .../rpc/protocol/rest/RestProtocolServer.java      |   4 +-
 .../dubbo/rpc/protocol/rest/RestServerFactory.java |  13 +-
 .../dubbo/rpc/protocol/rest/RpcContextFilter.java  |   9 +-
 .../rpc/protocol/rest/RpcExceptionMapper.java      |  11 +-
 .../protocol/rest/annotation/BaseParseContext.java |  51 +++
 .../rpc/protocol/rest/annotation/ParamParser.java  |  24 ++
 .../rest/annotation/ParamParserManager.java        |  61 ++++
 .../annotation/consumer/HttpConnectionConfig.java  |  51 +++
 .../consumer/HttpConnectionCreateContext.java      |  81 +++++
 .../consumer/HttpConnectionPreBuildIntercept.java  |  25 ++
 .../inercept/AddMustAttachmentIntercept.java       |  48 +++
 .../consumer/inercept/AttachmentIntercept.java     |  70 ++++
 .../consumer/inercept/ParamParseIntercept.java     |  39 +++
 .../consumer/inercept/PathVariableIntercept.java   |  51 +++
 .../consumer/inercept/RequestHeaderIntercept.java  |  54 +++
 .../consumer/inercept/SerializeBodyIntercept.java  |  66 ++++
 .../rest/annotation/metadata/MetadataResolver.java |  57 ++++
 .../parse/consumer/BaseConsumerParamParser.java    |  29 ++
 .../parse/consumer/BodyConsumerParamParser.java    |  45 +++
 .../param/parse/consumer/ConsumerParseContext.java |  34 ++
 .../parse/consumer/FormConsumerParamParser.java    |  54 +++
 .../parse/consumer/HeaderConsumerParamParser.java  |  41 +++
 .../consumer/ParameterConsumerParamParser.java     |  41 +++
 .../rpc/protocol/rest/constans/RestConstant.java   |  60 ++++
 .../exception/CodeStyleNotSupportException.java    |  24 ++
 .../rest/exception/HttpClientException.java        |  24 ++
 .../exception/RemoteServerInternalException.java   |  24 ++
 .../exception/UnSupportContentTypeException.java   |  27 ++
 .../protocol/rest/message/HttpMessageCodec.java    |  30 ++
 .../rest/message/HttpMessageCodecManager.java      |  51 +++
 .../protocol/rest/message/HttpMessageDecode.java   |  24 ++
 .../protocol/rest/message/HttpMessageEncode.java   |  28 ++
 .../protocol/rest/message/MediaTypeMatcher.java    |  64 ++++
 .../rest/message/codec/ByteArrayCodec.java         |  45 +++
 .../rpc/protocol/rest/message/codec/JsonCodec.java |  57 ++++
 .../rest/message/codec/MultiValueCodec.java        |  48 +++
 .../protocol/rest/message/codec/StringCodec.java   |  47 +++
 .../rpc/protocol/rest/message/codec/TextCodec.java |  47 +++
 .../rpc/protocol/rest/message/codec/XMLCodec.java  |  72 ++++
 .../rpc/protocol/rest/util/DataParseUtils.java     | 215 ++++++++++++
 .../rpc/protocol/rest/util/MediaTypeUtil.java      |  42 +++
 .../rpc/protocol/rest/util/MultiValueCreator.java  |  55 +++
 .../dubbo/rpc/protocol/rest/util/NumberUtils.java  | 149 ++++++++
 .../dubbo/rpc/protocol/rest/util/ReflectUtils.java | 269 +++++++++++++++
 .../dubbo/rpc/protocol/rest/util/StreamUtils.java  |  41 +++
 .../dubbo/rpc/protocol/rest/util/TypeUtil.java     |  38 +++
 ...tation.consumer.HttpConnectionPreBuildIntercept |   6 +
 ...on.param.parse.consumer.BaseConsumerParamParser |   5 +
 ...ubbo.rpc.protocol.rest.message.HttpMessageCodec |   6 +
 .../dubbo/rpc/protocol/rest/DemoService.java       |  29 +-
 .../dubbo/rpc/protocol/rest/DemoServiceImpl.java   |  19 +-
 .../rpc/protocol/rest/JaxrsRestProtocolTest.java   | 323 ++++++++++++++++++
 .../dubbo/rpc/protocol/rest/RestProtocolTest.java  | 260 --------------
 .../rpc/protocol/rest/RpcExceptionMapperTest.java  |   4 +-
 .../protocol/rest/SpringMvcRestProtocolTest.java   | 278 +++++++++++++++
 .../org/apache/dubbo/rpc/protocol/rest/User.java   |  62 ++++
 .../dubbo/rpc/protocol/rest/mvc/DemoService.java   |  36 ++
 .../protocol/rest/mvc/SpringDemoServiceImpl.java   |  55 +++
 .../protocol/rest/rest/AnotherUserRestService.java |  57 ++++
 .../rest/rest/AnotherUserRestServiceImpl.java      |  53 +++
 .../rpc/protocol/rest/rest/RegistrationResult.java |  44 +++
 .../rpc/protocol/rest/rest/RestDemoService.java    |  43 +++
 .../protocol/rest/rest/RestDemoServiceImpl.java    |  55 +++
 dubbo-rpc/dubbo-rpc-triple/pom.xml                 |   4 +-
 .../rpc/protocol/tri/ReflectionPackableMethod.java |  22 +-
 .../protocol/tri/TripleCustomerProtocolWapper.java |   2 +-
 .../protocol/tri/TripleHttp2FrameCodecBuilder.java |  70 ++++
 .../rpc/protocol/tri/TripleHttp2Protocol.java      |   9 +-
 .../dubbo/rpc/protocol/tri/TripleInvoker.java      |  17 +-
 .../rpc/protocol/tri/call/AbstractServerCall.java  |  39 ++-
 .../tri/call/AbstractServerCallListener.java       |  11 +-
 .../rpc/protocol/tri/call/TripleClientCall.java    |   6 +-
 .../protocol/tri/call/UnaryServerCallListener.java |  13 +-
 .../protocol/tri/command/CancelQueueCommand.java   |  10 +-
 .../tri/command/CreateStreamQueueCommand.java      |  61 ++++
 .../rpc/protocol/tri/command/DataQueueCommand.java |  12 +-
 .../tri/command/EndStreamQueueCommand.java         |  11 +-
 .../protocol/tri/command/HeaderQueueCommand.java   |  14 +-
 .../rpc/protocol/tri/command/QueuedCommand.java    |   8 +-
 .../protocol/tri/command/StreamQueueCommand.java   |  47 +++
 .../protocol/tri/command/TextDataQueueCommand.java |  10 +-
 .../protocol/tri/stream/TripleClientStream.java    |  72 ++--
 .../protocol/tri/stream/TripleServerStream.java    |  14 +-
 .../tri/stream/TripleStreamChannelFuture.java      |  66 ++++
 .../protocol/tri/transport/TripleWriteQueue.java   |  15 +-
 .../tri/stream/TripleClientStreamTest.java         |  22 +-
 .../rpc/protocol/tri/transport/WriteQueueTest.java |  21 +-
 .../pom.xml                                        | 101 ++++++
 .../ConditionalOnDubboTracingEnable.java           |  34 ++
 .../DubboMicrometerTracingAutoConfiguration.java   |  78 +++++
 .../DubboObservationAutoConfiguration.java         | 155 +++++++++
 .../autoconfigure/ObservationHandlerGrouping.java  |  74 ++++
 .../ObservationRegistryPostProcessor.java          |  54 +++
 .../brave/BraveAutoConfiguration.java              | 261 ++++++++++++++
 .../otel/OpenTelemetryAutoConfiguration.java       | 257 ++++++++++++++
 .../config/DubboTracingProperties.java             | 191 +++++++++++
 .../META-INF/spring-configuration-metadata.json    |  82 +++++
 .../src/main/resources/META-INF/spring.factories   |   6 +
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   4 +
 dubbo-spring-boot/pom.xml                          |   7 +-
 dubbo-test/dubbo-dependencies-all/pom.xml          |  27 ++
 .../test/common/api/SpringmvcDemoService.java      |  21 ++
 .../java/org/apache/dubbo/dependency/FileTest.java |   1 +
 dubbo-xds/pom.xml                                  |   4 +-
 .../xds/util/bootstrap/BootstrapperTest.java       |   2 +-
 pom.xml                                            |  35 +-
 903 files changed, 27435 insertions(+), 5914 deletions(-)
 create mode 100644 dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/configurator/parser/model/ConditionMatch.java
 create mode 100644 dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/configurator/parser/model/ParamMatch.java
 create mode 100644 dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/condition/config/ProviderAppStateRouter.java
 create mode 100644 dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/condition/config/ProviderAppStateRouterFactory.java
 create mode 100644 dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/condition/matcher/AbstractConditionMatcher.java
 create mode 100644 dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/condition/matcher/ConditionMatcher.java
 create mode 100644 dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/condition/matcher/ConditionMatcherFactory.java
 create mode 100644 dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/condition/matcher/argument/ArgumentConditionMatcher.java
 create mode 100644 dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/condition/matcher/argument/ArgumentConditionMatcherFactory.java
 create mode 100644 dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/condition/matcher/attachment/AttachmentConditionMatcher.java
 create mode 100644 dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/condition/matcher/attachment/AttachmentConditionMatcherFactory.java
 create mode 100644 dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/condition/matcher/param/UrlParamConditionMatcher.java
 create mode 100644 dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/condition/matcher/param/UrlParamConditionMatcherFactory.java
 create mode 100644 dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/condition/matcher/pattern/ValuePattern.java
 create mode 100644 dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/condition/matcher/pattern/range/RangeValuePattern.java
 create mode 100644 dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/condition/matcher/pattern/wildcard/WildcardValuePattern.java
 create mode 100644 dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/virtualservice/match/AddressMatch.java
 create mode 100644 dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/script/config/AppScriptRouterFactory.java
 create mode 100644 dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/script/config/AppScriptStateRouter.java
 create mode 100644 dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/script/config/model/ScriptRule.java
 create mode 100644 dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/tag/model/ParamMatch.java
 create mode 100644 dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/support/wrapper/ScopeClusterInvoker.java
 create mode 100644 dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/support/wrapper/ScopeClusterWrapper.java
 create mode 100644 dubbo-cluster/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.router.condition.matcher.ConditionMatcherFactory
 create mode 100644 dubbo-cluster/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.router.condition.matcher.pattern.ValuePattern
 create mode 100644 dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/router/condition/config/ProviderAppConditionStateRouterTest.java
 create mode 100644 dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/router/script/config/AppScriptStateRouterTest.java
 create mode 100644 dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/support/wrapper/ScopeClusterInvokerTest.java
 create mode 100644 dubbo-cluster/src/test/resources/ConfiguratorV3.yml
 create mode 100644 dubbo-cluster/src/test/resources/ConfiguratorV3Compatibility.yml
 create mode 100644 dubbo-cluster/src/test/resources/ConfiguratorV3Duplicate.yml
 create mode 100644 dubbo-cluster/src/test/resources/ScriptRule.yaml
 create mode 100644 dubbo-common/src/main/java/org/apache/dubbo/common/ssl/AuthPolicy.java
 create mode 100644 dubbo-common/src/main/java/org/apache/dubbo/common/ssl/Cert.java
 create mode 100644 dubbo-common/src/main/java/org/apache/dubbo/common/ssl/CertManager.java
 create mode 100644 dubbo-common/src/main/java/org/apache/dubbo/common/ssl/CertProvider.java
 create mode 100644 dubbo-common/src/main/java/org/apache/dubbo/common/ssl/ProviderCert.java
 create mode 100644 dubbo-common/src/main/java/org/apache/dubbo/common/ssl/impl/SSLConfigCertProvider.java
 create mode 100644 dubbo-common/src/main/java/org/apache/dubbo/common/utils/TimeUtils.java
 create mode 100644 dubbo-common/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.common.ssl.CertProvider
 create mode 100644 dubbo-common/src/main/resources/META-INF/version
 create mode 100644 dubbo-common/src/test/java/org/apache/dubbo/common/ssl/CertManagerTest.java
 create mode 100644 dubbo-common/src/test/java/org/apache/dubbo/common/ssl/FirstCertProvider.java
 create mode 100644 dubbo-common/src/test/java/org/apache/dubbo/common/ssl/SSLConfigCertProviderTest.java
 create mode 100644 dubbo-common/src/test/java/org/apache/dubbo/common/ssl/SecondCertProvider.java
 create mode 100644 dubbo-common/src/test/java/org/apache/dubbo/common/utils/TimeUtilsTest.java
 create mode 100644 dubbo-common/src/test/resources/META-INF/dubbo/internal/org.apache.dubbo.common.ssl.CertProvider
 create mode 100644 dubbo-common/src/test/resources/META-INF/version
 create mode 100644 dubbo-common/src/test/resources/certs/ca.pem
 create mode 100644 dubbo-common/src/test/resources/certs/cert.pem
 create mode 100644 dubbo-common/src/test/resources/certs/key.pem
 create mode 100644 dubbo-demo/dubbo-demo-interface/src/main/java/po/TestPO.java
 copy {dubbo-native-plugin => dubbo-demo/dubbo-demo-native/dubbo-demo-native-consumer}/src/main/resources/META-INF/native-image/proxy-config.json (100%)
 create mode 100644 dubbo-demo/dubbo-demo-native/dubbo-demo-native-consumer/src/main/resources/META-INF/native-image/reflect-config.json
 create mode 100644 dubbo-demo/dubbo-demo-native/dubbo-demo-native-provider/src/main/resources/META-INF/native-image/reflect-config.json
 create mode 100644 dubbo-demo/dubbo-demo-native/dubbo-demo-native-provider/src/main/resources/META-INF/native-image/resource-config.json
 delete mode 100644 dubbo-demo/dubbo-demo-spring-boot/dubbo-demo-spring-boot-consumer/src/main/java/org/apache/dubbo/springboot/demo/consumer/ObservationConfiguration.java
 delete mode 100644 dubbo-demo/dubbo-demo-spring-boot/dubbo-demo-spring-boot-provider/src/main/java/org/apache/dubbo/springboot/demo/provider/ObservationConfiguration.java
 create mode 100644 dubbo-maven-plugin/pom.xml
 create mode 100644 dubbo-maven-plugin/src/main/java/org/apache/dubbo/maven/plugin/aot/AbstractAotMojo.java
 create mode 100644 dubbo-maven-plugin/src/main/java/org/apache/dubbo/maven/plugin/aot/AbstractDependencyFilterMojo.java
 create mode 100644 dubbo-maven-plugin/src/main/java/org/apache/dubbo/maven/plugin/aot/CommandLineBuilder.java
 create mode 100644 dubbo-maven-plugin/src/main/java/org/apache/dubbo/maven/plugin/aot/DependencyFilter.java
 create mode 100644 dubbo-maven-plugin/src/main/java/org/apache/dubbo/maven/plugin/aot/DubboProcessAotMojo.java
 create mode 100644 dubbo-maven-plugin/src/main/java/org/apache/dubbo/maven/plugin/aot/Exclude.java
 create mode 100644 dubbo-maven-plugin/src/main/java/org/apache/dubbo/maven/plugin/aot/ExcludeFilter.java
 create mode 100644 dubbo-maven-plugin/src/main/java/org/apache/dubbo/maven/plugin/aot/FilterableDependency.java
 create mode 100644 dubbo-maven-plugin/src/main/java/org/apache/dubbo/maven/plugin/aot/Include.java
 create mode 100644 dubbo-maven-plugin/src/main/java/org/apache/dubbo/maven/plugin/aot/IncludeFilter.java
 create mode 100644 dubbo-maven-plugin/src/main/java/org/apache/dubbo/maven/plugin/aot/JavaCompilerPluginConfiguration.java
 create mode 100644 dubbo-maven-plugin/src/main/java/org/apache/dubbo/maven/plugin/aot/JavaExecutable.java
 create mode 100644 dubbo-maven-plugin/src/main/java/org/apache/dubbo/maven/plugin/aot/JavaProcessExecutor.java
 create mode 100644 dubbo-maven-plugin/src/main/java/org/apache/dubbo/maven/plugin/aot/MatchingGroupIdFilter.java
 create mode 100644 dubbo-maven-plugin/src/main/java/org/apache/dubbo/maven/plugin/aot/RunArguments.java
 create mode 100644 dubbo-maven-plugin/src/main/java/org/apache/dubbo/maven/plugin/aot/RunProcess.java
 create mode 100644 dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/ParameterTypesComparator.java
 create mode 100644 dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/rest/AbstractNoAnnotatedParameterProcessor.java
 create mode 100644 dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/rest/ArgInfo.java
 create mode 100644 dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/rest/JAXRSClassConstants.java
 create mode 100644 dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/rest/NoAnnotatedParameterRequestTagProcessor.java
 create mode 100644 dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/rest/ParamType.java
 create mode 100644 dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/rest/PathMatcher.java
 create mode 100644 dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/rest/PathUtil.java
 create mode 100644 dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/rest/SpringMvcClassConstants.java
 create mode 100644 dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/rest/jaxrs/BodyParameterProcessor.java
 create mode 100644 dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/rest/jaxrs/PathParamParameterProcessor.java
 create mode 100644 dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/rest/media/MediaType.java
 create mode 100644 dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/rest/springmvc/FormBodyNoAnnotatedProcessor.java
 create mode 100644 dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/rest/springmvc/JsonBodyNoAnnotatedProcessor.java
 create mode 100644 dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/rest/springmvc/ParamNoAnnotatedProcessor.java
 create mode 100644 dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/rest/springmvc/PathVariableParameterProcessor.java
 create mode 100644 dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/rest/springmvc/RequestBodyParameterProcessor.java
 create mode 100644 dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/rest/tag/BodyTag.java
 create mode 100644 dubbo-metadata/dubbo-metadata-api/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.metadata.rest.NoAnnotatedParameterRequestTagProcessor
 create mode 100644 dubbo-metadata/dubbo-metadata-api/src/test/java/org/apache/dubbo/metadata/PathMatcherTest.java
 create mode 100644 dubbo-metadata/dubbo-metadata-api/src/test/java/org/apache/dubbo/metadata/rest/api/AnotherUserRestService.java
 create mode 100644 dubbo-metadata/dubbo-metadata-api/src/test/java/org/apache/dubbo/metadata/rest/api/JaxrsRestService.java
 create mode 100644 dubbo-metadata/dubbo-metadata-api/src/test/java/org/apache/dubbo/metadata/rest/api/JaxrsRestServiceImpl.java
 create mode 100644 dubbo-metadata/dubbo-metadata-api/src/test/java/org/apache/dubbo/metadata/rest/api/SpringRestService.java
 create mode 100644 dubbo-metadata/dubbo-metadata-api/src/test/java/org/apache/dubbo/metadata/rest/api/SpringRestServiceImpl.java
 delete mode 100644 dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/DubboMetrics.java
 create mode 100755 dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/aggregate/Pane.java
 create mode 100755 dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/aggregate/SlidingWindow.java
 create mode 100644 dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/event/MethodEvent.java
 delete mode 100644 dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/filter/observation/AbstractDefaultDubboObservationConvention.java
 delete mode 100644 dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/filter/observation/DefaultDubboClientObservationConvention.java
 delete mode 100644 dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/filter/observation/DefaultDubboServerObservationConvention.java
 delete mode 100644 dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/filter/observation/DubboClientContext.java
 delete mode 100644 dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/filter/observation/DubboClientObservationConvention.java
 delete mode 100644 dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/filter/observation/DubboObservation.java
 delete mode 100644 dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/filter/observation/DubboServerContext.java
 delete mode 100644 dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/filter/observation/DubboServerObservationConvention.java
 create mode 100644 dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/model/container/AtomicLongContainer.java
 create mode 100644 dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/model/container/LongAccumulatorContainer.java
 create mode 100644 dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/model/container/LongContainer.java
 create mode 100644 dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/observation/AbstractDefaultDubboObservationConvention.java
 create mode 100644 dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/observation/DefaultDubboClientObservationConvention.java
 create mode 100644 dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/observation/DefaultDubboServerObservationConvention.java
 create mode 100644 dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/observation/DubboClientContext.java
 create mode 100644 dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/observation/DubboClientObservationConvention.java
 create mode 100644 dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/observation/DubboObservation.java
 create mode 100644 dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/observation/DubboServerContext.java
 create mode 100644 dubbo-metrics/dubbo-metrics-api/src/main/java/org/apache/dubbo/metrics/observation/DubboServerObservationConvention.java
 create mode 100644 dubbo-metrics/dubbo-metrics-api/src/test/java/org/apache/dubbo/metrics/aggregate/PaneTest.java
 create mode 100644 dubbo-metrics/dubbo-metrics-api/src/test/java/org/apache/dubbo/metrics/aggregate/SlidingWindowTest.java
 create mode 100644 dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/DubboMetrics.java
 create mode 100644 dubbo-metrics/dubbo-metrics-default/src/main/java/org/apache/dubbo/metrics/filter/MetricsClusterFilter.java
 create mode 100644 dubbo-metrics/dubbo-metrics-default/src/test/java/org/apache/dubbo/metrics/sampler/CountSamplerTest.java
 create mode 100644 dubbo-metrics/dubbo-metrics-metadata/pom.xml
 create mode 100644 dubbo-metrics/dubbo-metrics-metadata/src/main/java/org/apache/dubbo/metrics/metadata/collector/MetadataMetricsCollector.java
 create mode 100644 dubbo-metrics/dubbo-metrics-metadata/src/main/java/org/apache/dubbo/metrics/metadata/collector/stat/MetadataStatComposite.java
 create mode 100644 dubbo-metrics/dubbo-metrics-metadata/src/main/java/org/apache/dubbo/metrics/metadata/event/MetadataEvent.java
 create mode 100644 dubbo-metrics/dubbo-metrics-metadata/src/main/java/org/apache/dubbo/metrics/metadata/event/MetadataMetricsEventMulticaster.java
 create mode 100644 dubbo-metrics/dubbo-metrics-metadata/src/main/java/org/apache/dubbo/metrics/metadata/event/MetricsPushListener.java
 create mode 100644 dubbo-metrics/dubbo-metrics-metadata/src/main/java/org/apache/dubbo/metrics/metadata/event/MetricsSubscribeListener.java
 create mode 100644 dubbo-metrics/dubbo-metrics-metadata/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.metrics.collector.MetricsCollector
 create mode 100644 dubbo-metrics/dubbo-metrics-metadata/src/test/java/org/apache/dubbo/metrics/metadata/MetadataMetricsCollectorTest.java
 create mode 100644 dubbo-metrics/dubbo-metrics-metadata/src/test/java/org/apache/dubbo/metrics/metadata/MetadataStatCompositeTest.java
 create mode 100644 dubbo-metrics/dubbo-metrics-prometheus/src/main/java/org/apache/dubbo/metrics/prometheus/NopPrometheusMetricsReporter.java
 create mode 100644 dubbo-metrics/dubbo-metrics-prometheus/src/main/java/org/apache/dubbo/metrics/prometheus/PrometheusMetricsReporterCmd.java
 create mode 100644 dubbo-metrics/dubbo-metrics-prometheus/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.qos.api.BaseCommand
 create mode 100644 dubbo-metrics/dubbo-metrics-registry/pom.xml
 create mode 100644 dubbo-metrics/dubbo-metrics-registry/src/main/java/org/apache/dubbo/metrics/registry/collector/RegistryMetricsCollector.java
 create mode 100644 dubbo-metrics/dubbo-metrics-registry/src/main/java/org/apache/dubbo/metrics/registry/collector/stat/RegistryStatComposite.java
 create mode 100644 dubbo-metrics/dubbo-metrics-registry/src/main/java/org/apache/dubbo/metrics/registry/collector/stat/ServiceKeyMetric.java
 create mode 100644 dubbo-metrics/dubbo-metrics-registry/src/main/java/org/apache/dubbo/metrics/registry/event/MetricsDirectoryListener.java
 create mode 100644 dubbo-metrics/dubbo-metrics-registry/src/main/java/org/apache/dubbo/metrics/registry/event/MetricsNotifyListener.java
 create mode 100644 dubbo-metrics/dubbo-metrics-registry/src/main/java/org/apache/dubbo/metrics/registry/event/MetricsRegisterListener.java
 create mode 100644 dubbo-metrics/dubbo-metrics-registry/src/main/java/org/apache/dubbo/metrics/registry/event/MetricsServiceRegisterListener.java
 create mode 100644 dubbo-metrics/dubbo-metrics-registry/src/main/java/org/apache/dubbo/metrics/registry/event/MetricsServiceSubscribeListener.java
 create mode 100644 dubbo-metrics/dubbo-metrics-registry/src/main/java/org/apache/dubbo/metrics/registry/event/MetricsSubscribeListener.java
 create mode 100644 dubbo-metrics/dubbo-metrics-registry/src/main/java/org/apache/dubbo/metrics/registry/event/RegistryEvent.java
 create mode 100644 dubbo-metrics/dubbo-metrics-registry/src/main/java/org/apache/dubbo/metrics/registry/event/RegistryMetricsEventMulticaster.java
 create mode 100644 dubbo-metrics/dubbo-metrics-registry/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.metrics.collector.MetricsCollector
 create mode 100644 dubbo-metrics/dubbo-metrics-registry/src/test/java/org/apache/dubbo/metrics/registry/metrics/collector/RegistryMetricsCollectorTest.java
 create mode 100644 dubbo-metrics/dubbo-metrics-registry/src/test/java/org/apache/dubbo/metrics/registry/metrics/collector/RegistryMetricsSampleTest.java
 create mode 100644 dubbo-metrics/dubbo-metrics-registry/src/test/java/org/apache/dubbo/metrics/registry/metrics/collector/RegistryStatCompositeTest.java
 delete mode 100644 dubbo-native-plugin/src/main/java/org/apache/dubbo/common/metrics/MetricsReporterFactory$Adaptive.java
 delete mode 100644 dubbo-native-plugin/src/main/java/org/apache/dubbo/common/threadpool/ThreadPool$Adaptive.java
 delete mode 100644 dubbo-native-plugin/src/main/java/org/apache/dubbo/rpc/executor/IsolationExecutorSupportFactory$Adaptive.java
 create mode 100644 dubbo-native/src/main/java/org/apache/dubbo/aot/generate/AotProcessor.java
 create mode 100644 dubbo-native/src/main/java/org/apache/dubbo/aot/generate/BasicJsonWriter.java
 create mode 100644 dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ClassSourceScanner.java
 create mode 100644 dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ConditionalDescriber.java
 create mode 100644 dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ExecutableDescriber.java
 create mode 100644 dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ExecutableMode.java
 create mode 100644 dubbo-native/src/main/java/org/apache/dubbo/aot/generate/FieldDescriber.java
 create mode 100644 dubbo-native/src/main/java/org/apache/dubbo/aot/generate/JarScanner.java
 create mode 100644 dubbo-native/src/main/java/org/apache/dubbo/aot/generate/MemberCategory.java
 create mode 100644 dubbo-native/src/main/java/org/apache/dubbo/aot/generate/MemberDescriber.java
 create mode 100644 dubbo-native/src/main/java/org/apache/dubbo/aot/generate/NativeClassSourceWriter.java
 create mode 100644 dubbo-native/src/main/java/org/apache/dubbo/aot/generate/NativeConfigurationWriter.java
 create mode 100644 dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ReflectConfigMetadataRepository.java
 create mode 100644 dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ReflectionConfigWriter.java
 create mode 100644 dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ResourceBundleDescriber.java
 create mode 100644 dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ResourceConfigMetadataRepository.java
 create mode 100644 dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ResourceConfigWriter.java
 create mode 100644 dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ResourcePatternDescriber.java
 create mode 100644 dubbo-native/src/main/java/org/apache/dubbo/aot/generate/ResourceScanner.java
 create mode 100644 dubbo-native/src/main/java/org/apache/dubbo/aot/generate/TypeDescriber.java
 delete mode 100644 dubbo-native/src/main/java/org/apache/dubbo/common/metrics/MetricsReporterFactory$Adaptive.java
 delete mode 100644 dubbo-native/src/main/java/org/apache/dubbo/common/serialize/Serialization$Adaptive.java
 delete mode 100644 dubbo-native/src/main/java/org/apache/dubbo/common/threadpool/ThreadPool$Adaptive.java
 delete mode 100644 dubbo-native/src/main/java/org/apache/dubbo/metadata/report/MetadataReportFactory$Adaptive.java
 delete mode 100644 dubbo-native/src/main/java/org/apache/dubbo/monitor/MonitorFactory$Adaptive.java
 delete mode 100644 dubbo-native/src/main/java/org/apache/dubbo/registry/RegistryFactory$Adaptive.java
 delete mode 100644 dubbo-native/src/main/java/org/apache/dubbo/remoting/Codec$Adaptive.java
 delete mode 100644 dubbo-native/src/main/java/org/apache/dubbo/remoting/Codec2$Adaptive.java
 delete mode 100644 dubbo-native/src/main/java/org/apache/dubbo/remoting/Dispatcher$Adaptive.java
 delete mode 100644 dubbo-native/src/main/java/org/apache/dubbo/remoting/Transporter$Adaptive.java
 delete mode 100644 dubbo-native/src/main/java/org/apache/dubbo/remoting/api/pu/PortUnificationTransporter$Adaptive.java
 delete mode 100644 dubbo-native/src/main/java/org/apache/dubbo/remoting/exchange/Exchanger$Adaptive.java
 delete mode 100644 dubbo-native/src/main/java/org/apache/dubbo/rpc/Protocol$Adaptive.java
 delete mode 100644 dubbo-native/src/main/java/org/apache/dubbo/rpc/ProxyFactory$Adaptive.java
 delete mode 100644 dubbo-native/src/main/java/org/apache/dubbo/rpc/cluster/Cluster$Adaptive.java
 delete mode 100644 dubbo-native/src/main/java/org/apache/dubbo/rpc/cluster/ConfiguratorFactory$Adaptive.java
 delete mode 100644 dubbo-native/src/main/java/org/apache/dubbo/rpc/cluster/LoadBalance$Adaptive.java
 delete mode 100644 dubbo-native/src/main/java/org/apache/dubbo/rpc/cluster/RouterFactory$Adaptive.java
 delete mode 100644 dubbo-native/src/main/java/org/apache/dubbo/rpc/cluster/router/state/StateRouterFactory$Adaptive.java
 delete mode 100644 dubbo-native/src/main/java/org/apache/dubbo/rpc/executor/IsolationExecutorSupportFactory$Adaptive.java
 delete mode 100644 dubbo-native/src/main/java/org/apache/dubbo/utils/ClassFinder.java
 delete mode 100644 dubbo-native/src/main/java/org/apache/dubbo/utils/CodeGenerator.java
 create mode 100644 dubbo-native/src/test/java/org/apache/dubbo/aot/generate/ResourcePatternDescriberTest.java
 create mode 100644 dubbo-plugin/dubbo-qos-api/pom.xml
 create mode 100644 dubbo-plugin/dubbo-qos-api/src/main/java/org/apache/dubbo/qos/api/BaseCommand.java
 create mode 100644 dubbo-plugin/dubbo-qos-api/src/main/java/org/apache/dubbo/qos/api/Cmd.java
 create mode 100644 dubbo-plugin/dubbo-qos-api/src/main/java/org/apache/dubbo/qos/api/CommandContext.java
 create mode 100644 dubbo-plugin/dubbo-qos-api/src/main/java/org/apache/dubbo/qos/api/PermissionLevel.java
 create mode 100644 dubbo-plugin/dubbo-qos-api/src/main/java/org/apache/dubbo/qos/api/QosConfiguration.java
 delete mode 100644 dubbo-plugin/dubbo-qos/src/main/java/org/apache/dubbo/qos/command/BaseCommand.java
 delete mode 100644 dubbo-plugin/dubbo-qos/src/main/java/org/apache/dubbo/qos/command/CommandContext.java
 delete mode 100644 dubbo-plugin/dubbo-qos/src/main/java/org/apache/dubbo/qos/command/annotation/Cmd.java
 create mode 100644 dubbo-plugin/dubbo-qos/src/main/java/org/apache/dubbo/qos/command/impl/GetConfig.java
 delete mode 100644 dubbo-plugin/dubbo-qos/src/main/java/org/apache/dubbo/qos/common/QosConfiguration.java
 delete mode 100644 dubbo-plugin/dubbo-qos/src/main/java/org/apache/dubbo/qos/permission/PermissionLevel.java
 create mode 100644 dubbo-plugin/dubbo-qos/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.qos.api.BaseCommand
 delete mode 100644 dubbo-plugin/dubbo-qos/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.qos.command.BaseCommand
 create mode 100644 dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/command/impl/GetConfigTest.java
 create mode 100644 dubbo-plugin/dubbo-qos/src/test/java/org/apache/dubbo/qos/permission/DefaultAnonymousAccessPermissionCheckerTest.java
 rename dubbo-plugin/dubbo-qos/src/test/resources/META-INF/services/{org.apache.dubbo.qos.command.BaseCommand => org.apache.dubbo.qos.api.BaseCommand} (100%)
 create mode 100644 dubbo-plugin/dubbo-security/pom.xml
 create mode 100644 dubbo-plugin/dubbo-security/src/main/java/org/apache/dubbo/security/cert/CertConfig.java
 create mode 100644 dubbo-plugin/dubbo-security/src/main/java/org/apache/dubbo/security/cert/CertDeployerListener.java
 create mode 100644 dubbo-plugin/dubbo-security/src/main/java/org/apache/dubbo/security/cert/CertPair.java
 create mode 100644 dubbo-plugin/dubbo-security/src/main/java/org/apache/dubbo/security/cert/CertScopeModelInitializer.java
 create mode 100644 dubbo-plugin/dubbo-security/src/main/java/org/apache/dubbo/security/cert/Constants.java
 create mode 100644 dubbo-plugin/dubbo-security/src/main/java/org/apache/dubbo/security/cert/DubboCertManager.java
 create mode 100644 dubbo-plugin/dubbo-security/src/main/java/org/apache/dubbo/security/cert/DubboCertProvider.java
 create mode 100644 dubbo-plugin/dubbo-security/src/main/proto/ca.proto
 create mode 100644 dubbo-plugin/dubbo-security/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.common.deploy.ApplicationDeployListener
 create mode 100644 dubbo-plugin/dubbo-security/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.common.ssl.CertProvider
 create mode 100644 dubbo-plugin/dubbo-security/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.rpc.model.ScopeModelInitializer
 create mode 100644 dubbo-plugin/dubbo-security/src/test/java/org/apache/dubbo/security/cert/CertDeployerListenerTest.java
 create mode 100644 dubbo-plugin/dubbo-security/src/test/java/org/apache/dubbo/security/cert/DubboCertManagerTest.java
 create mode 100644 dubbo-plugin/dubbo-security/src/test/java/org/apache/dubbo/security/cert/DubboCertProviderTest.java
 create mode 100644 dubbo-plugin/dubbo-security/src/test/resources/certs/broken-ca.crt
 create mode 100644 dubbo-plugin/dubbo-security/src/test/resources/certs/ca.crt
 create mode 100644 dubbo-plugin/dubbo-security/src/test/resources/certs/token
 create mode 100644 dubbo-plugin/dubbo-spring-security/src/main/java/org/apache/dubbo/spring/security/jackson/ObjectMapperCodec.java
 create mode 100644 dubbo-plugin/dubbo-spring-security/src/main/java/org/apache/dubbo/spring/security/jackson/ObjectMapperCodecCustomer.java
 create mode 100644 dubbo-plugin/dubbo-spring-security/src/main/java/org/apache/dubbo/spring/security/model/SecurityScopeModelInitializer.java
 delete mode 100644 dubbo-plugin/dubbo-spring-security/src/main/java/org/apache/dubbo/spring/security/utils/ObjectMapperCodec.java
 create mode 100644 dubbo-plugin/dubbo-spring-security/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.rpc.model.ScopeModelInitializer
 create mode 100644 dubbo-plugin/dubbo-spring-security/src/test/java/org/apache/dubbo/spring/security/jackson/ObjectMapperCodecTest.java
 create mode 100644 dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/exchange/HeartBeatRequest.java
 create mode 100644 dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/exchange/HeartBeatResponse.java
 create mode 100644 dubbo-remoting/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/BaseRestClient.java
 create mode 100644 dubbo-remoting/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/RequestTemplate.java
 create mode 100644 dubbo-remoting/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/RestClient.java
 create mode 100644 dubbo-remoting/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/RestResult.java
 create mode 100644 dubbo-remoting/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/config/HttpClientConfig.java
 create mode 100644 dubbo-remoting/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/factory/AbstractHttpClientFactory.java
 create mode 100644 dubbo-remoting/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/factory/RestClientFactory.java
 create mode 100644 dubbo-remoting/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/factory/impl/ApacheHttpClientFactory.java
 create mode 100644 dubbo-remoting/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/factory/impl/OkHttpClientFactory.java
 create mode 100644 dubbo-remoting/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/factory/impl/URLConnectionClientFactory.java
 create mode 100644 dubbo-remoting/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/restclient/HttpClientRestClient.java
 create mode 100644 dubbo-remoting/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/restclient/OKHttpRestClient.java
 create mode 100644 dubbo-remoting/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/restclient/URLConnectionRestClient.java
 create mode 100644 dubbo-remoting/dubbo-remoting-http/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.remoting.http.factory.RestClientFactory
 create mode 100644 dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/listener/ExporterChangeListener.java
 create mode 100644 dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/listener/ExporterScopeModelInitializer.java
 create mode 100644 dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/listener/InjvmExporterListener.java
 create mode 100644 dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/protocol/InvokerCountWrapper.java
 create mode 100644 dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/protocol/ReferenceCountInvokerWrapper.java
 create mode 100644 dubbo-rpc/dubbo-rpc-api/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.rpc.model.ScopeModelInitializer
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/BaseParseContext.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/ParamParser.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/ParamParserManager.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/consumer/HttpConnectionConfig.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/consumer/HttpConnectionCreateContext.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/consumer/HttpConnectionPreBuildIntercept.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/consumer/inercept/AddMustAttachmentIntercept.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/consumer/inercept/AttachmentIntercept.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/consumer/inercept/ParamParseIntercept.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/consumer/inercept/PathVariableIntercept.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/consumer/inercept/RequestHeaderIntercept.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/consumer/inercept/SerializeBodyIntercept.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/metadata/MetadataResolver.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/param/parse/consumer/BaseConsumerParamParser.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/param/parse/consumer/BodyConsumerParamParser.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/param/parse/consumer/ConsumerParseContext.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/param/parse/consumer/FormConsumerParamParser.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/param/parse/consumer/HeaderConsumerParamParser.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/param/parse/consumer/ParameterConsumerParamParser.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/constans/RestConstant.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/exception/CodeStyleNotSupportException.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/exception/HttpClientException.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/exception/RemoteServerInternalException.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/exception/UnSupportContentTypeException.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/message/HttpMessageCodec.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/message/HttpMessageCodecManager.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/message/HttpMessageDecode.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/message/HttpMessageEncode.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/message/MediaTypeMatcher.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/message/codec/ByteArrayCodec.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/message/codec/JsonCodec.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/message/codec/MultiValueCodec.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/message/codec/StringCodec.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/message/codec/TextCodec.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/message/codec/XMLCodec.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/util/DataParseUtils.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/util/MediaTypeUtil.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/util/MultiValueCreator.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/util/NumberUtils.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/util/ReflectUtils.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/util/StreamUtils.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/util/TypeUtil.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.rpc.protocol.rest.annotation.consumer.HttpConnectionPreBuildIntercept
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.rpc.protocol.rest.annotation.param.parse.consumer.BaseConsumerParamParser
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.rpc.protocol.rest.message.HttpMessageCodec
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/JaxrsRestProtocolTest.java
 delete mode 100644 dubbo-rpc/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/RestProtocolTest.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/SpringMvcRestProtocolTest.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/User.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/mvc/DemoService.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/mvc/SpringDemoServiceImpl.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/rest/AnotherUserRestService.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/rest/AnotherUserRestServiceImpl.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/rest/RegistrationResult.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/rest/RestDemoService.java
 create mode 100644 dubbo-rpc/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/rest/RestDemoServiceImpl.java
 create mode 100644 dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/TripleHttp2FrameCodecBuilder.java
 create mode 100644 dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/command/CreateStreamQueueCommand.java
 create mode 100644 dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/command/StreamQueueCommand.java
 create mode 100644 dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/stream/TripleStreamChannelFuture.java
 create mode 100644 dubbo-spring-boot/dubbo-spring-boot-observability-starter/pom.xml
 create mode 100644 dubbo-spring-boot/dubbo-spring-boot-observability-starter/src/main/java/org/apache/dubbo/spring/boot/observability/annotation/ConditionalOnDubboTracingEnable.java
 create mode 100644 dubbo-spring-boot/dubbo-spring-boot-observability-starter/src/main/java/org/apache/dubbo/spring/boot/observability/autoconfigure/DubboMicrometerTracingAutoConfiguration.java
 create mode 100644 dubbo-spring-boot/dubbo-spring-boot-observability-starter/src/main/java/org/apache/dubbo/spring/boot/observability/autoconfigure/DubboObservationAutoConfiguration.java
 create mode 100644 dubbo-spring-boot/dubbo-spring-boot-observability-starter/src/main/java/org/apache/dubbo/spring/boot/observability/autoconfigure/ObservationHandlerGrouping.java
 create mode 100644 dubbo-spring-boot/dubbo-spring-boot-observability-starter/src/main/java/org/apache/dubbo/spring/boot/observability/autoconfigure/ObservationRegistryPostProcessor.java
 create mode 100644 dubbo-spring-boot/dubbo-spring-boot-observability-starter/src/main/java/org/apache/dubbo/spring/boot/observability/autoconfigure/brave/BraveAutoConfiguration.java
 create mode 100644 dubbo-spring-boot/dubbo-spring-boot-observability-starter/src/main/java/org/apache/dubbo/spring/boot/observability/autoconfigure/otel/OpenTelemetryAutoConfiguration.java
 create mode 100644 dubbo-spring-boot/dubbo-spring-boot-observability-starter/src/main/java/org/apache/dubbo/spring/boot/observability/config/DubboTracingProperties.java
 create mode 100644 dubbo-spring-boot/dubbo-spring-boot-observability-starter/src/main/resources/META-INF/spring-configuration-metadata.json
 create mode 100644 dubbo-spring-boot/dubbo-spring-boot-observability-starter/src/main/resources/META-INF/spring.factories
 create mode 100644 dubbo-spring-boot/dubbo-spring-boot-observability-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
 create mode 100644 dubbo-test/dubbo-test-common/src/main/java/org/apache/dubbo/test/common/api/SpringmvcDemoService.java


[dubbo] 01/01: Merge branch 'apache-3.2' into apache-3.3

Posted by al...@apache.org.
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 414785c05b5d3cb9691a2940c0e5fa17c69a52b3
Merge: 52611099ab 7bc8de4de9
Author: Albumen Kevin <jh...@gmail.com>
AuthorDate: Tue Mar 21 17:49:14 2023 +0800

    Merge branch 'apache-3.2' into apache-3.3
    
    # Conflicts:
    #       dubbo-dependencies-bom/pom.xml
    #       dubbo-dependencies/dubbo-dependencies-zookeeper-curator5/pom.xml
    #       dubbo-dependencies/dubbo-dependencies-zookeeper/pom.xml
    #       pom.xml

 .github/workflows/build-and-test-pr.yml            |  21 +-
 .github/workflows/build-and-test-scheduled-3.1.yml |   8 +-
 .github/workflows/build-and-test-scheduled-3.2.yml |   8 +-
 .github/workflows/release-test.yml                 |   8 +-
 .gitignore                                         |   5 +-
 .licenserc.yaml                                    |  37 +-
 README.md                                          |  16 +-
 codestyle/checkstyle-suppressions.xml              |   3 +-
 dubbo-cluster/pom.xml                              |  12 +
 .../dubbo/rpc/cluster/ConfiguratorFactory.java     |   3 +-
 .../org/apache/dubbo/rpc/cluster/Constants.java    |   6 +-
 .../apache/dubbo/rpc/cluster/RouterFactory.java    |   3 +-
 .../cluster/configurator/AbstractConfigurator.java | 153 ++++++---
 .../override/OverrideConfigurator.java             |   4 +
 .../cluster/configurator/parser/ConfigParser.java  |  21 +-
 .../configurator/parser/model/ConditionMatch.java  |  98 ++++++
 .../configurator/parser/model/ConfigItem.java      |  32 +-
 .../parser/model/ConfiguratorConfig.java           |   1 +
 .../configurator/parser/model/ParamMatch.java      |  58 ++++
 .../rpc/cluster/directory/AbstractDirectory.java   |  54 ++-
 .../DefaultGovernanceRuleRepositoryImpl.java       |   2 +-
 .../cluster/loadbalance/AdaptiveLoadBalance.java   |   2 +-
 .../rpc/cluster/loadbalance/RandomLoadBalance.java |   4 +-
 .../cluster/loadbalance/RoundRobinLoadBalance.java |   4 +-
 .../loadbalance/ShortestResponseLoadBalance.java   |   6 +-
 .../rpc/cluster/router/AbstractRouterRule.java     |  11 +
 .../router/condition/ConditionStateRouter.java     | 227 ++++---------
 .../condition/config/AppStateRouterFactory.java    |   2 +
 .../condition/config/ListenableStateRouter.java    |   4 +-
 .../condition/config/ProviderAppStateRouter.java   |  77 +++++
 .../config/ProviderAppStateRouterFactory.java      |  36 ++
 .../matcher/AbstractConditionMatcher.java          | 138 ++++++++
 .../router/condition/matcher/ConditionMatcher.java |  61 ++++
 .../condition/matcher/ConditionMatcherFactory.java |  43 +++
 .../matcher/argument/ArgumentConditionMatcher.java |  72 ++++
 .../argument/ArgumentConditionMatcherFactory.java  |  37 ++
 .../attachment/AttachmentConditionMatcher.java     |  76 +++++
 .../AttachmentConditionMatcherFactory.java         |  37 ++
 .../matcher/param/UrlParamConditionMatcher.java    |  41 +++
 .../param/UrlParamConditionMatcherFactory.java     |  36 ++
 .../condition/matcher/pattern/ValuePattern.java    |  47 +++
 .../matcher/pattern/range/RangeValuePattern.java   |  84 +++++
 .../pattern/wildcard/WildcardValuePattern.java     |  41 +++
 .../cluster/router/mesh/route/MeshRuleCache.java   |   7 +-
 .../rule/virtualservice/match/AddressMatch.java    |  80 +++++
 .../rule/virtualservice/match/StringMatch.java     |  15 +-
 .../script/config/AppScriptRouterFactory.java      |  32 ++
 .../router/script/config/AppScriptStateRouter.java | 150 ++++++++
 .../router/script/config/model/ScriptRule.java     |  70 ++++
 .../cluster/router/state/AbstractStateRouter.java  |   4 +-
 .../dubbo/rpc/cluster/router/state/BitList.java    |   2 +-
 .../cluster/router/state/StateRouterFactory.java   |   3 +-
 .../rpc/cluster/router/tag/TagStateRouter.java     |  47 ++-
 .../rpc/cluster/router/tag/model/ParamMatch.java   |  47 +++
 .../dubbo/rpc/cluster/router/tag/model/Tag.java    |  36 +-
 .../cluster/router/tag/model/TagRouterRule.java    |  61 +++-
 .../cluster/router/tag/model/TagRuleParser.java    |   3 +-
 .../cluster/support/AbstractClusterInvoker.java    |   2 +-
 .../cluster/support/wrapper/AbstractCluster.java   |   9 +-
 .../support/wrapper/ScopeClusterInvoker.java       | 225 ++++++++++++
 .../support/wrapper/ScopeClusterWrapper.java       |  46 +++
 .../internal/org.apache.dubbo.rpc.cluster.Cluster  |   3 +-
 ...outer.condition.matcher.ConditionMatcherFactory |   4 +
 ...r.router.condition.matcher.pattern.ValuePattern |   2 +
 ...bbo.rpc.cluster.router.state.StateRouterFactory |   2 +
 .../apache/dubbo/rpc/cluster/ConfiguratorTest.java |   2 +-
 .../apache/dubbo/rpc/cluster/RouterChainTest.java  |  10 +-
 .../override/OverrideConfiguratorTest.java         |  79 +++++
 .../configurator/parser/ConfigParserTest.java      |  71 ++++
 .../rpc/cluster/directory/StaticDirectoryTest.java |   3 +
 .../filter/DefaultFilterChainBuilderTest.java      |   8 +-
 .../cluster/router/RouterSnapshotFilterTest.java   |   6 +
 .../router/condition/ConditionStateRouterTest.java | 120 +++++++
 .../ProviderAppConditionStateRouterTest.java       |  97 ++++++
 .../cluster/router/file/FileRouterEngineTest.java  |   3 +
 .../router/mesh/route/MeshRuleCacheTest.java       |  15 +-
 .../script/config/AppScriptStateRouterTest.java    | 100 ++++++
 .../rpc/cluster/router/tag/TagStateRouterTest.java | 127 +++++++
 .../support/AbstractClusterInvokerTest.java        |  30 +-
 .../rpc/cluster/support/ClusterUtilsTest.java      |   2 +-
 .../support/ConnectivityValidationTest.java        |   3 +
 .../support/FailoverClusterInvokerTest.java        |  12 +-
 .../DefaultProviderURLMergeProcessorTest.java      |   2 +-
 .../support/wrapper/MockClusterInvokerTest.java    |   3 +
 .../wrapper/MockProviderRpcExceptionTest.java      |   3 +
 .../support/wrapper/ScopeClusterInvokerTest.java   | 282 +++++++++++++++
 .../src/test/resources/AppAnyServices.yml          |   2 +-
 .../src/test/resources/ConfiguratorV3.yml          |  40 +++
 .../test/resources/ConfiguratorV3Compatibility.yml |  38 +++
 .../src/test/resources/ConfiguratorV3Duplicate.yml |  43 +++
 dubbo-cluster/src/test/resources/ScriptRule.yaml   |  35 ++
 dubbo-cluster/src/test/resources/log4j.xml         |  10 +-
 dubbo-common/pom.xml                               |  38 ++-
 .../dubbo/common/CommonScopeModelInitializer.java  |   2 +
 .../src/main/java/org/apache/dubbo/common/URL.java |  31 +-
 .../java/org/apache/dubbo/common/URLBuilder.java   |   4 +-
 .../java/org/apache/dubbo/common/URLStrParser.java |   4 +-
 .../main/java/org/apache/dubbo/common/Version.java |  28 +-
 .../common/beans/factory/ScopeBeanFactory.java     |  21 +-
 .../dubbo/common/beanutil/JavaBeanDescriptor.java  |   2 +-
 .../org/apache/dubbo/common/bytecode/Mixin.java    |   2 +-
 .../apache/dubbo/common/cache/FileCacheStore.java  |   8 +-
 .../apache/dubbo/common/config/Environment.java    |   4 +-
 .../dubbo/common/config/ModuleEnvironment.java     |   4 +-
 .../config/OrderedPropertiesConfiguration.java     |   2 +-
 .../dubbo/common/config/PrefixedConfiguration.java |   4 +-
 .../wrapper/CompositeDynamicConfiguration.java     |   2 +-
 .../dubbo/common/constants/CommonConstants.java    |   4 +
 .../common/constants/LoggerCodeConstants.java      |   9 +
 .../extension/AdaptiveClassCodeGenerator.java      |   9 +-
 .../dubbo/common/extension/ExtensionLoader.java    |  18 +-
 .../apache/dubbo/common/function/Predicates.java   |   4 +-
 .../org/apache/dubbo/common/function/Streams.java  |   1 +
 .../dubbo/common/function/ThrowableConsumer.java   |   1 -
 .../common/infra/support/EnvironmentAdapter.java   |   5 +
 .../java/org/apache/dubbo/common/io/Bytes.java     |   4 +-
 .../java/org/apache/dubbo/common/json/JSON.java    |   1 -
 .../dubbo/common/json/impl/FastJson2Impl.java      |   1 -
 .../dubbo/common/json/impl/FastJsonImpl.java       |   1 +
 .../apache/dubbo/common/json/impl/JacksonImpl.java |   3 +
 .../dubbo/common/lang/ShutdownHookCallbacks.java   |   8 +-
 .../apache/dubbo/common/logger/LoggerFactory.java  |   6 +-
 .../dubbo/common/logger/log4j/Log4jLogger.java     |   4 +
 .../org/apache/dubbo/common/ssl/AuthPolicy.java    |  23 ++
 .../java/org/apache/dubbo/common/ssl/Cert.java     |  67 ++++
 .../org/apache/dubbo/common/ssl/CertManager.java   |  55 +++
 .../org/apache/dubbo/common/ssl/CertProvider.java  |  30 ++
 .../org/apache/dubbo/common/ssl/ProviderCert.java  |  35 ++
 .../common/ssl/impl/SSLConfigCertProvider.java     |  80 +++++
 .../common/store/support/SimpleDataStore.java      |   8 +-
 .../common/threadpool/ThreadlessExecutor.java      |   2 +-
 .../manager/DefaultExecutorRepository.java         |   1 -
 .../dubbo/common/threadpool/manager/Ring.java      |   2 +-
 .../common/url/component/ServiceAddressURL.java    |  17 +
 .../apache/dubbo/common/utils/AnnotationUtils.java |  10 +
 .../java/org/apache/dubbo/common/utils/Assert.java |  12 +
 .../common/utils/ClassLoaderResourceLoader.java    |   4 +-
 .../apache/dubbo/common/utils/CollectionUtils.java |   4 +-
 .../dubbo/common/utils/CompatibleTypeUtils.java    |   6 +-
 .../dubbo/common/utils/ConcurrentHashSet.java      |   4 +-
 .../org/apache/dubbo/common/utils/ConfigUtils.java |   2 +-
 .../org/apache/dubbo/common/utils/IOUtils.java     |  12 +
 .../org/apache/dubbo/common/utils/LFUCache.java    |   6 +-
 .../org/apache/dubbo/common/utils/LRU2Cache.java   |   2 +-
 .../org/apache/dubbo/common/utils/LogUtil.java     |   2 +-
 .../org/apache/dubbo/common/utils/NetUtils.java    |  31 +-
 .../org/apache/dubbo/common/utils/PojoUtils.java   |   8 +-
 .../java/org/apache/dubbo/common/utils/Stack.java  |   2 +-
 .../org/apache/dubbo/common/utils/TimeUtils.java   |  78 +++++
 .../org/apache/dubbo/config/AbstractConfig.java    |   6 +
 .../dubbo/config/AbstractInterfaceConfig.java      |  23 +-
 .../apache/dubbo/config/AbstractMethodConfig.java  |   4 +
 .../apache/dubbo/config/AbstractServiceConfig.java |  14 +
 .../java/org/apache/dubbo/config/Constants.java    |   2 +-
 .../org/apache/dubbo/config/MetricsConfig.java     |  32 +-
 .../apache/dubbo/config/ReferenceConfigBase.java   |   3 +
 .../org/apache/dubbo/config/RegistryConfig.java    |   6 +
 .../org/apache/dubbo/config/ServiceConfigBase.java |   6 +-
 .../java/org/apache/dubbo/config/SslConfig.java    |  44 +++
 .../dubbo/config/annotation/DubboReference.java    |   2 +-
 .../dubbo/config/annotation/DubboService.java      |   5 +
 .../config/context/AbstractConfigManager.java      |   4 +-
 .../config/context/ConfigConfigurationAdapter.java |   2 +-
 .../apache/dubbo/config/context/ConfigManager.java |   4 +-
 .../dubbo/config/context/ModuleConfigManager.java  |   2 +-
 .../dubbo/config/nested/AggregationConfig.java     |   4 +-
 .../dubbo/config/nested/PrometheusConfig.java      |   8 +-
 .../metadata/definition/TypeDefinitionBuilder.java |   2 +-
 .../dubbo/rpc/executor/DefaultExecutorSupport.java |   4 +-
 .../apache/dubbo/rpc/model/ApplicationModel.java   |  11 +
 .../org/apache/dubbo/rpc/model/FrameworkModel.java |  12 +-
 .../rpc/model/FrameworkServiceRepository.java      |  11 +-
 .../org/apache/dubbo/rpc/model/ModuleModel.java    |   6 +
 .../org/apache/dubbo/rpc/model/PackableMethod.java |   5 +
 .../org/apache/dubbo/rpc/model/ScopeModel.java     |  37 +-
 .../apache/dubbo/rpc/model/ServiceRepository.java  |   6 +-
 .../org.apache.dubbo.common.ssl.CertProvider       |   1 +
 dubbo-common/src/main/resources/META-INF/version   |   1 +
 .../main/resources/security/serialize.allowlist    |   4 +
 .../org/apache/dubbo/common/URLStrParserTest.java  |   3 +-
 .../test/java/org/apache/dubbo/common/URLTest.java |  10 +-
 .../dubbo/common/bytecode/ClassGeneratorTest.java  |   6 +-
 .../apache/dubbo/common/bytecode/MixinTest.java    |   4 +-
 .../compiler/support/AdaptiveCompilerTest.java     |   4 +-
 .../compiler/support/JavassistCompilerTest.java    |  14 +-
 .../common/compiler/support/JdkCompilerTest.java   |  22 +-
 .../AbstractDynamicConfigurationTest.java          |  14 +-
 .../java/org/apache/dubbo/common/io/BytesTest.java |   6 +-
 .../dubbo/common/logger/LoggerAdapterTest.java     |  11 +-
 .../org/apache/dubbo/common/logger/LoggerTest.java |  11 +-
 .../resource/GlobalResourcesRepositoryTest.java    |   4 +-
 .../apache/dubbo/common/ssl/CertManagerTest.java   | 105 ++++++
 .../apache/dubbo/common/ssl/FirstCertProvider.java |  56 +++
 .../common/ssl/SSLConfigCertProviderTest.java      | 124 +++++++
 .../dubbo/common/ssl/SecondCertProvider.java       |  56 +++
 .../status/support/LoadStatusCheckerTest.java      |   4 +-
 .../status/support/MemoryStatusCheckerTest.java    |   4 +-
 .../threadlocal/InternalThreadLocalTest.java       |   8 +-
 .../MemoryLimitedLinkedBlockingQueueTest.java      |   4 +-
 .../MemorySafeLinkedBlockingQueueTest.java         |   4 +-
 .../support/AbortPolicyWithReportTest.java         |   8 +-
 .../support/cached/CachedThreadPoolTest.java       |   4 +-
 .../support/eager/EagerThreadPoolExecutorTest.java |   6 +-
 .../support/eager/EagerThreadPoolTest.java         |   4 +-
 .../support/limited/LimitedThreadPoolTest.java     |   4 +-
 .../dubbo/common/utils/AnnotationUtilsTest.java    |   4 +-
 .../apache/dubbo/common/utils/ArrayUtilsTest.java  |   6 +-
 .../common/utils/AtomicPositiveIntegerTest.java    |  22 +-
 .../apache/dubbo/common/utils/ClassUtilsTest.java  |  14 +-
 .../dubbo/common/utils/CollectionUtilsTest.java    |  28 +-
 .../apache/dubbo/common/utils/LFUCacheTest.java    |  10 +-
 .../apache/dubbo/common/utils/LRU2CacheTest.java   |   6 +-
 .../apache/dubbo/common/utils/LogHelperTest.java   |  12 +-
 .../org/apache/dubbo/common/utils/LogTest.java     |  10 +-
 .../org/apache/dubbo/common/utils/LogUtilTest.java |  18 +-
 .../apache/dubbo/common/utils/MemberUtilsTest.java |   2 +-
 .../apache/dubbo/common/utils/NetUtilsTest.java    |  42 +--
 .../apache/dubbo/common/utils/ParametersTest.java  |   4 +-
 .../dubbo/common/utils/ReflectUtilsTest.java       |   8 +-
 .../apache/dubbo/common/utils/TimeUtilsTest.java   |  30 ++
 .../apache/dubbo/common/version/VersionTest.java   |  12 +-
 .../definition/ServiceDefinitionBuilderTest.java   |   4 +-
 .../apache/dubbo/rpc/model/ScopeModelUtilTest.java |   7 +
 .../org.apache.dubbo.common.ssl.CertProvider       |   2 +
 dubbo-common/src/test/resources/META-INF/version   |   3 +
 dubbo-common/src/test/resources/certs/ca.pem       |  15 +
 dubbo-common/src/test/resources/certs/cert.pem     |  18 +
 dubbo-common/src/test/resources/certs/key.pem      |  16 +
 .../com/alibaba/dubbo/qos/command/BaseCommand.java |   4 +-
 .../alibaba/dubbo/qos/command/CommandContext.java  |   4 +-
 .../main/java/com/alibaba/dubbo/rpc/Invoker.java   |   5 +
 .../main/java/com/alibaba/dubbo/rpc/Result.java    |   5 +
 .../dubbo/rpc/cluster/ConfiguratorFactory.java     |   3 +-
 .../apache/dubbo/config/ApplicationConfigTest.java |  32 +-
 .../apache/dubbo/config/ArgumentConfigTest.java    |   8 +-
 .../org/apache/dubbo/config/MethodConfigTest.java  |  30 +-
 .../org/apache/dubbo/gen/AbstractGenerator.java    |  21 +-
 dubbo-config/dubbo-config-api/pom.xml              |  18 +
 .../org/apache/dubbo/config/ReferenceConfig.java   |  67 ++--
 .../org/apache/dubbo/config/ServiceConfig.java     |  33 +-
 .../dubbo/config/bootstrap/DubboBootstrap.java     |  12 +-
 .../config/deploy/DefaultApplicationDeployer.java  |  17 +-
 .../invoker/DelegateProviderMetaDataInvoker.java   |   2 +-
 .../apache/dubbo/config/AbstractConfigTest.java    |  36 +-
 .../dubbo/config/AbstractMethodConfigTest.java     |  24 +-
 .../dubbo/config/AbstractReferenceConfigTest.java  |  32 +-
 .../dubbo/config/AbstractServiceConfigTest.java    |  40 +--
 .../apache/dubbo/config/ApplicationConfigTest.java |  30 +-
 .../apache/dubbo/config/ArgumentConfigTest.java    |  10 +-
 .../apache/dubbo/config/ConsumerConfigTest.java    |  21 +-
 .../apache/dubbo/config/ReferenceConfigTest.java   | 109 ++----
 .../org/apache/dubbo/config/cache/CacheTest.java   |   4 +-
 .../DelegateProviderMetaDataInvokerTest.java       |   4 +-
 dubbo-config/dubbo-config-spring/pom.xml           |   2 +-
 .../ReferenceAnnotationBeanPostProcessor.java      |  19 +-
 .../ConfigurableSourceBeanMetadataElement.java     |   2 +-
 .../context/DubboConfigApplicationListener.java    |   2 +-
 .../spring/context/DubboConfigBeanInitializer.java |   2 +-
 .../spring/context/DubboSpringInitContext.java     |   2 +-
 .../context/DubboSpringInitCustomizerHolder.java   |   3 +-
 .../spring/context/DubboSpringInitializer.java     |   2 +-
 .../context/event/DubboApplicationStateEvent.java  |   2 +-
 .../src/main/resources/META-INF/dubbo.xsd          |  52 ++-
 .../ReferenceAnnotationBeanPostProcessorTest.java  |  29 +-
 .../spring/issues/issue6000/Issue6000Test.java     |   4 +-
 .../spring/issues/issue6252/Issue6252Test.java     |   4 +-
 .../spring/issues/issue7003/Issue7003Test.java     |   4 +-
 .../support/nacos/NacosConfigServiceWrapper.java   |   2 +-
 .../support/nacos/NacosDynamicConfiguration.java   |   4 +-
 .../support/zookeeper/CacheListener.java           |   2 +-
 .../support/zookeeper/ZookeeperDataListener.java   |   8 +-
 .../zookeeper/ZookeeperDynamicConfiguration.java   |   4 +-
 .../ZookeeperDynamicConfigurationFactory.java      |   5 +-
 dubbo-demo/dubbo-demo-annotation/pom.xml           |   2 +-
 dubbo-demo/dubbo-demo-api/pom.xml                  |   2 +-
 dubbo-demo/dubbo-demo-interface/pom.xml            |  14 +
 .../org/apache/dubbo/demo/RestDemoService.java     |  54 ++-
 .../src/main/java/po/TestPO.java                   |  69 ++++
 .../dubbo-demo-native-consumer/pom.xml             |  92 +----
 .../META-INF/native-image/proxy-config.json        |   7 +
 .../META-INF/native-image/reflect-config.json      |  17 +
 .../dubbo-demo-native-provider/pom.xml             |  93 +----
 .../src/main/resources/Log4j.properties            |  12 +-
 .../META-INF/native-image/reflect-config.json      |  25 ++
 .../META-INF/native-image/resource-config.json     |  13 +
 .../dubbo-demo-spring-boot-consumer/pom.xml        |  11 +-
 .../demo/consumer/ObservationConfiguration.java    | 215 ------------
 .../dubbo-demo-spring-boot-provider/pom.xml        |  10 +-
 .../demo/provider/ObservationConfiguration.java    | 214 ------------
 dubbo-demo/dubbo-demo-spring-boot/pom.xml          |  22 +-
 dubbo-demo/dubbo-demo-triple/pom.xml               |   4 +-
 .../apache/dubbo/demo/consumer/Application.java    |  31 +-
 .../dubbo/demo/provider/RestDemoServiceImpl.java   |  37 ++
 dubbo-demo/dubbo-demo-xml/pom.xml                  |   2 +-
 dubbo-dependencies-bom/pom.xml                     |  46 ++-
 dubbo-distribution/dubbo-all/pom.xml               |  90 ++++-
 dubbo-distribution/dubbo-apache-release/pom.xml    |   2 +-
 dubbo-distribution/dubbo-bom/pom.xml               |  31 ++
 dubbo-distribution/dubbo-core-spi/pom.xml          |   2 +-
 .../dubbo/cache/support/expiring/ExpiringMap.java  |   4 +-
 .../apache/dubbo/cache/support/lfu/LfuCache.java   |   4 +
 .../cache/support/jcache/JCacheFactoryTest.java    |   4 +-
 .../validation/support/jvalidation/JValidator.java |   8 +-
 .../support/jvalidation/JValidatorNew.java         |  10 +-
 .../validation/filter/ValidationFilterTest.java    |  12 +-
 .../support/jvalidation/JValidatorTest.java        |   4 +-
 .../kubernetes/KubernetesServiceDiscoveryTest.java |  29 +-
 dubbo-maven-plugin/pom.xml                         | 109 ++++++
 .../dubbo/maven/plugin/aot/AbstractAotMojo.java    | 219 ++++++++++++
 .../plugin/aot/AbstractDependencyFilterMojo.java   | 172 ++++++++++
 .../dubbo/maven/plugin/aot/CommandLineBuilder.java | 136 ++++++++
 .../dubbo/maven/plugin/aot/DependencyFilter.java   |  83 +++++
 .../maven/plugin/aot/DubboProcessAotMojo.java      | 102 ++++++
 .../org/apache/dubbo/maven/plugin/aot/Exclude.java |  26 ++
 .../dubbo/maven/plugin/aot/ExcludeFilter.java      |  50 +++
 .../maven/plugin/aot/FilterableDependency.java     |  70 ++++
 .../org/apache/dubbo/maven/plugin/aot/Include.java |  26 ++
 .../dubbo/maven/plugin/aot/IncludeFilter.java      |  46 +++
 .../aot/JavaCompilerPluginConfiguration.java       | 107 ++++++
 .../dubbo/maven/plugin/aot/JavaExecutable.java     |  71 ++++
 .../maven/plugin/aot/JavaProcessExecutor.java      | 102 ++++++
 .../maven/plugin/aot/MatchingGroupIdFilter.java    |  47 +++
 .../dubbo/maven/plugin/aot/RunArguments.java       |  68 ++++
 .../apache/dubbo/maven/plugin/aot/RunProcess.java  | 169 +++++++++
 dubbo-metadata/dubbo-metadata-api/pom.xml          |   8 -
 .../dubbo/metadata/AbstractServiceNameMapping.java |   1 -
 .../apache/dubbo/metadata/MetadataConstants.java   |  38 ++-
 .../dubbo/metadata/ParameterTypesComparator.java   |  49 +++
 .../AbstractAnnotatedMethodParameterProcessor.java |  30 +-
 .../AbstractNoAnnotatedParameterProcessor.java     |  68 ++++
 .../rest/AbstractServiceRestMetadataResolver.java  | 113 ++++--
 .../rest/AnnotatedMethodParameterProcessor.java    |  15 +-
 .../org/apache/dubbo/metadata/rest/ArgInfo.java    | 151 +++++++++
 .../dubbo/metadata/rest/JAXRSClassConstants.java   |  62 ++++
 .../NoAnnotatedParameterRequestTagProcessor.java   |  32 ++
 .../org/apache/dubbo/metadata/rest/ParamType.java  |  97 ++++++
 .../apache/dubbo/metadata/rest/PathMatcher.java    | 146 ++++++++
 .../org/apache/dubbo/metadata/rest/PathUtil.java   | 157 +++++++++
 .../dubbo/metadata/rest/RequestMetadata.java       |  19 +-
 .../dubbo/metadata/rest/RestMetadataConstants.java |  20 ++
 .../dubbo/metadata/rest/RestMethodMetadata.java    |  67 +++-
 .../dubbo/metadata/rest/ServiceRestMetadata.java   | 104 +++++-
 .../metadata/rest/ServiceRestMetadataResolver.java |   7 +-
 .../metadata/rest/SpringMvcClassConstants.java     |  51 +++
 .../rest/jaxrs/BodyParameterProcessor.java         |  52 +++
 .../rest/jaxrs/DefaultValueParameterProcessor.java |   5 +-
 .../rest/jaxrs/FormParamParameterProcessor.java    |   2 +-
 .../rest/jaxrs/HeaderParamParameterProcessor.java  |   5 +-
 .../jaxrs/JAXRSServiceRestMetadataResolver.java    |  12 +
 .../rest/jaxrs/MatrixParamParameterProcessor.java  |   2 +-
 .../jaxrs/ParamAnnotationParameterProcessor.java   |   3 +-
 .../rest/jaxrs/PathParamParameterProcessor.java    |  37 ++
 .../rest/jaxrs/QueryParamParameterProcessor.java   |   2 +-
 .../dubbo/metadata/rest/media/MediaType.java       |  46 +++
 .../springmvc/FormBodyNoAnnotatedProcessor.java    |  41 +++
 .../springmvc/JsonBodyNoAnnotatedProcessor.java    |  36 ++
 .../rest/springmvc/ParamNoAnnotatedProcessor.java  |  43 +++
 .../springmvc/PathVariableParameterProcessor.java  |  43 +++
 .../springmvc/RequestBodyParameterProcessor.java   |  46 +++
 .../springmvc/RequestHeaderParameterProcessor.java |   5 +-
 .../springmvc/RequestParamParameterProcessor.java  |   6 +-
 .../SpringMvcServiceRestMetadataResolver.java      |  15 +
 .../apache/dubbo/metadata/rest/tag/BodyTag.java    |  20 ++
 ...metadata.rest.AnnotatedMethodParameterProcessor |   6 +-
 ...ta.rest.NoAnnotatedParameterRequestTagProcessor |   3 +
 .../metadata/AbstractServiceNameMappingTest.java   |   2 +-
 .../apache/dubbo/metadata/MetadataInfoTest.java    |  17 +
 .../org/apache/dubbo/metadata/PathMatcherTest.java |  32 ++
 .../report/support/AbstractMetadataReportTest.java |  14 +-
 .../dubbo/metadata/rest/DefaultRestService.java    |  15 +
 .../apache/dubbo/metadata/rest/RestService.java    |   4 +
 .../dubbo/metadata/rest/SpringRestService.java     |  26 +-
 .../dubbo/metadata/rest/StandardRestService.java   |  24 ++
 .../metadata/rest/api/AnotherUserRestService.java  |  45 +++
 .../dubbo/metadata/rest/api/JaxrsRestService.java  |  65 ++++
 .../metadata/rest/api/JaxrsRestServiceImpl.java    |  50 +++
 .../dubbo/metadata/rest/api/SpringRestService.java |  52 +++
 .../metadata/rest/api/SpringRestServiceImpl.java   |  53 +++
 .../JAXRSServiceRestMetadataResolverTest.java      |  86 ++++-
 .../SpringMvcServiceRestMetadataResolverTest.java  |  67 +++-
 .../AbstractAnnotationProcessingTest.java          |   2 +-
 .../metadata/store/nacos/MockConfigService.java    |  16 +-
 .../store/redis/RedisMetadataReportTest.java       |   2 +-
 dubbo-metrics/dubbo-metrics-api/pom.xml            |   5 -
 .../org/apache/dubbo/metrics/DubboMetrics.java     |  35 --
 .../org/apache/dubbo/metrics/aggregate/Pane.java   | 126 +++++++
 .../dubbo/metrics/aggregate/SlidingWindow.java     | 299 ++++++++++++++++
 .../dubbo/metrics/aggregate/TimeWindowCounter.java |  81 +++--
 .../metrics/aggregate/TimeWindowQuantile.java      |  69 ++--
 .../collector/ApplicationMetricsCollector.java     |   8 +-
 .../dubbo/metrics/collector/MetricsCollector.java  |   9 +-
 .../event/GlobalMetricsEventMulticaster.java       |  12 +-
 .../apache/dubbo/metrics/event/MethodEvent.java    |  37 ++
 .../apache/dubbo/metrics/event/MetricsEvent.java   |  35 +-
 .../event/SimpleMetricsEventMulticaster.java       |  15 +-
 .../AbstractDefaultDubboObservationConvention.java |  63 ----
 .../DefaultDubboClientObservationConvention.java   |  89 -----
 .../DefaultDubboServerObservationConvention.java   |  45 ---
 .../filter/observation/DubboClientContext.java     |  48 ---
 .../DubboClientObservationConvention.java          |  30 --
 .../filter/observation/DubboObservation.java       | 119 -------
 .../filter/observation/DubboServerContext.java     |  46 ---
 .../DubboServerObservationConvention.java          |  30 --
 .../metrics/listener/MetricsLifeListener.java      |   6 +-
 .../dubbo/metrics/listener/MetricsListener.java    |   3 +-
 .../dubbo/metrics/model/ApplicationMetric.java     |  14 +-
 .../apache/dubbo/metrics/model/MethodMetric.java   |  13 +-
 .../org/apache/dubbo/metrics/model/MetricsKey.java | 107 ++++--
 .../dubbo/metrics/model/MetricsKeyWrapper.java     |   4 +-
 .../org/apache/dubbo/metrics/model/TimePair.java   |   5 +
 .../model/container/AtomicLongContainer.java       |  35 ++
 .../model/container/LongAccumulatorContainer.java  |  28 ++
 .../metrics/model/container/LongContainer.java     | 112 ++++++
 .../metrics/model/sample/GaugeMetricSample.java    |  40 ++-
 .../AbstractDefaultDubboObservationConvention.java |  63 ++++
 .../DefaultDubboClientObservationConvention.java   |  89 +++++
 .../DefaultDubboServerObservationConvention.java   |  45 +++
 .../metrics/observation/DubboClientContext.java    |  48 +++
 .../DubboClientObservationConvention.java          |  30 ++
 .../metrics/observation/DubboObservation.java      | 119 +++++++
 .../metrics/observation/DubboServerContext.java    |  46 +++
 .../DubboServerObservationConvention.java          |  30 ++
 .../dubbo/metrics/report/MetricsReporter.java      |   4 +
 .../metrics/report/MetricsReporterFactory.java     |   3 +-
 .../apache/dubbo/metrics/aggregate/PaneTest.java   |  72 ++++
 .../dubbo/metrics/aggregate/SlidingWindowTest.java | 137 ++++++++
 .../metrics/aggregate/TimeWindowCounterTest.java   |  16 +-
 .../metrics/aggregate/TimeWindowQuantileTest.java  |   8 +-
 .../event/SimpleMetricsEventMulticasterTest.java   |   8 +-
 dubbo-metrics/dubbo-metrics-default/pom.xml        |   6 +
 .../org/apache/dubbo/metrics/DubboMetrics.java     |  41 +++
 .../metrics/MetricsScopeModelInitializer.java      |   2 +-
 .../collector/AggregateMetricsCollector.java       | 160 +++++----
 .../metrics/collector/DefaultMetricsCollector.java |  14 +-
 .../collector/sample/MethodMetricsSampler.java     |  84 ++---
 .../sample/MetricsCountSampleConfigurer.java       |   1 -
 .../collector/sample/MetricsCountSampler.java      |  24 +-
 .../metrics/collector/sample/MetricsSampler.java   |   1 -
 .../sample/SimpleMetricsCountSampler.java          | 144 +++++---
 .../collector/sample/ThreadPoolMetricsSampler.java | 106 ++++--
 .../metrics/filter/MethodMetricsInterceptor.java   |  94 ++---
 .../dubbo/metrics/filter/MetricsClusterFilter.java |  80 +++++
 .../apache/dubbo/metrics/filter/MetricsFilter.java |  10 +-
 .../observation/ObservationReceiverFilter.java     |   7 +-
 .../observation/ObservationSenderFilter.java       |   7 +-
 .../metrics/report/AbstractMetricsReporter.java    |  71 ++--
 .../metrics/report/nop/NopMetricsReporter.java     |  10 +
 .../metrics/service/DefaultMetricsService.java     |   6 +-
 .../dubbo/internal/org.apache.dubbo.rpc.Filter     |   3 +-
 ...g.apache.dubbo.rpc.cluster.filter.ClusterFilter |   3 +-
 .../collector/AggregateMetricsCollectorTest.java   |  33 +-
 .../dubbo/metrics/filter/MetricsFilterTest.java    | 118 ++++++-
 .../collector/DefaultMetricsCollectorTest.java     |  42 ++-
 .../model/sample/GaugeMetricSampleTest.java        |  18 +-
 .../observation/ObservationReceiverFilterTest.java |   2 +-
 .../observation/ObservationSenderFilterTest.java   |   2 +-
 .../dubbo/metrics/sampler/CountSamplerTest.java    | 192 +++++++++++
 dubbo-metrics/dubbo-metrics-metadata/pom.xml       |  40 +++
 .../collector/MetadataMetricsCollector.java        | 111 ++++++
 .../collector/stat/MetadataStatComposite.java      | 127 +++++++
 .../metrics/metadata/event/MetadataEvent.java      | 109 ++++++
 .../event/MetadataMetricsEventMulticaster.java     |  31 ++
 .../metadata/event/MetricsPushListener.java        |  49 +++
 .../metadata/event/MetricsSubscribeListener.java   |  49 +++
 ...apache.dubbo.metrics.collector.MetricsCollector |   1 +
 .../metadata/MetadataMetricsCollectorTest.java     | 165 +++++++++
 .../metadata/MetadataStatCompositeTest.java        |  67 ++++
 dubbo-metrics/dubbo-metrics-prometheus/pom.xml     |   6 +
 .../prometheus/NopPrometheusMetricsReporter.java   |  42 +++
 .../prometheus/PrometheusMetricsReporter.java      |  54 +--
 .../prometheus/PrometheusMetricsReporterCmd.java   | 142 ++++++++
 .../PrometheusMetricsReporterFactory.java          |  33 +-
 .../internal/org.apache.dubbo.qos.api.BaseCommand  |   1 +
 .../prometheus/PrometheusMetricsReporterTest.java  |  33 +-
 dubbo-metrics/dubbo-metrics-registry/pom.xml       |  40 +++
 .../collector/RegistryMetricsCollector.java        | 135 ++++++++
 .../collector/stat/RegistryStatComposite.java      | 195 +++++++++++
 .../registry/collector/stat/ServiceKeyMetric.java  |  79 +++++
 .../registry/event/MetricsDirectoryListener.java   |  43 +++
 .../registry/event/MetricsNotifyListener.java      |  54 +++
 .../registry/event/MetricsRegisterListener.java    |  52 +++
 .../event/MetricsServiceRegisterListener.java      |  51 +++
 .../event/MetricsServiceSubscribeListener.java     |  52 +++
 .../registry/event/MetricsSubscribeListener.java   |  52 +++
 .../metrics/registry/event/RegistryEvent.java      | 223 ++++++++++++
 .../event/RegistryMetricsEventMulticaster.java     |  35 ++
 ...apache.dubbo.metrics.collector.MetricsCollector |   1 +
 .../collector/RegistryMetricsCollectorTest.java    | 113 ++++++
 .../collector/RegistryMetricsSampleTest.java       |  95 ++++++
 .../collector/RegistryStatCompositeTest.java       |  67 ++++
 dubbo-metrics/pom.xml                              |   2 +
 .../org/apache/dubbo/monitor/MonitorFactory.java   |   3 +-
 .../dubbo/monitor/dubbo/DubboMonitorTest.java      |   4 +-
 .../dubbo/monitor/dubbo/MetricsFilterTest.java     |   6 +-
 dubbo-native-plugin/pom.xml                        |   4 +-
 .../metrics/MetricsReporterFactory$Adaptive.java   |  33 --
 .../common/threadpool/ThreadPool$Adaptive.java     |  30 --
 .../IsolationExecutorSupportFactory$Adaptive.java  |  33 --
 .../META-INF/native-image/reflect-config.json      | 121 ++++++-
 dubbo-native/pom.xml                               |  40 ---
 .../apache/dubbo/aot/generate/AotProcessor.java    |  54 +++
 .../apache/dubbo/aot/generate/BasicJsonWriter.java | 288 ++++++++++++++++
 .../dubbo/aot/generate/ClassSourceScanner.java     | 174 ++++++++++
 .../dubbo/aot/generate/ConditionalDescriber.java   |  26 ++
 .../dubbo/aot/generate/ExecutableDescriber.java    |  72 ++++
 .../apache/dubbo/aot/generate/ExecutableMode.java  |  48 +++
 .../apache/dubbo/aot/generate/FieldDescriber.java  |  38 +++
 .../org/apache/dubbo/aot/generate/JarScanner.java  | 146 ++++++++
 .../apache/dubbo/aot/generate/MemberCategory.java  | 125 +++++++
 .../apache/dubbo/aot/generate/MemberDescriber.java |  40 +++
 .../aot/generate/NativeClassSourceWriter.java      |  76 +++++
 .../aot/generate/NativeConfigurationWriter.java    |  85 +++++
 .../generate/ReflectConfigMetadataRepository.java  |  67 ++++
 .../dubbo/aot/generate/ReflectionConfigWriter.java | 134 ++++++++
 .../aot/generate/ResourceBundleDescriber.java      |  70 ++++
 .../generate/ResourceConfigMetadataRepository.java |  72 ++++
 .../dubbo/aot/generate/ResourceConfigWriter.java   |  87 +++++
 .../aot/generate/ResourcePatternDescriber.java     |  58 ++++
 .../apache/dubbo/aot/generate/ResourceScanner.java |  57 ++++
 .../apache/dubbo/aot/generate/TypeDescriber.java   |  74 ++++
 .../metrics/MetricsReporterFactory$Adaptive.java   |  33 --
 .../common/serialize/Serialization$Adaptive.java   |  45 ---
 .../common/threadpool/ThreadPool$Adaptive.java     |  30 --
 .../report/MetadataReportFactory$Adaptive.java     |  33 --
 .../dubbo/monitor/MonitorFactory$Adaptive.java     |  30 --
 .../dubbo/registry/RegistryFactory$Adaptive.java   |  30 --
 .../org/apache/dubbo/remoting/Codec$Adaptive.java  |  41 ---
 .../org/apache/dubbo/remoting/Codec2$Adaptive.java |  41 ---
 .../apache/dubbo/remoting/Dispatcher$Adaptive.java |  30 --
 .../dubbo/remoting/Transporter$Adaptive.java       |  39 ---
 .../pu/PortUnificationTransporter$Adaptive.java    |  39 ---
 .../remoting/exchange/Exchanger$Adaptive.java      |  39 ---
 .../org/apache/dubbo/rpc/Protocol$Adaptive.java    |  49 ---
 .../apache/dubbo/rpc/ProxyFactory$Adaptive.java    |  50 ---
 .../apache/dubbo/rpc/cluster/Cluster$Adaptive.java |  37 --
 .../rpc/cluster/ConfiguratorFactory$Adaptive.java  |  30 --
 .../dubbo/rpc/cluster/LoadBalance$Adaptive.java    |  31 --
 .../dubbo/rpc/cluster/RouterFactory$Adaptive.java  |  30 --
 .../router/state/StateRouterFactory$Adaptive.java  |  30 --
 .../IsolationExecutorSupportFactory$Adaptive.java  |  33 --
 .../java/org/apache/dubbo/utils/ClassFinder.java   |  92 -----
 .../java/org/apache/dubbo/utils/CodeGenerator.java | 109 ------
 .../aot/generate/ResourcePatternDescriberTest.java |  28 ++
 .../apache/dubbo/auth/AccessKeyAuthenticator.java  |   2 +-
 .../dubbo/auth/filter/ConsumerSignFilter.java      |   2 +-
 .../dubbo/auth/filter/ProviderAuthFilter.java      |   2 +-
 dubbo-plugin/dubbo-qos-api/pom.xml                 |  46 +++
 .../java/org/apache/dubbo/qos/api/BaseCommand.java |  30 ++
 .../main/java/org/apache/dubbo/qos/api/Cmd.java    |  66 ++++
 .../org/apache/dubbo/qos/api/CommandContext.java   | 101 ++++++
 .../org/apache/dubbo/qos/api/PermissionLevel.java  |  67 ++++
 .../org/apache/dubbo/qos/api/QosConfiguration.java | 150 ++++++++
 dubbo-plugin/dubbo-qos/pom.xml                     |   5 +
 .../org/apache/dubbo/qos/command/BaseCommand.java  |  25 --
 .../apache/dubbo/qos/command/CommandContext.java   | 103 ------
 .../dubbo/qos/command/CommandContextFactory.java   |   2 +
 .../apache/dubbo/qos/command/CommandExecutor.java  |   1 +
 .../dubbo/qos/command/DefaultCommandExecutor.java  |  23 +-
 .../apache/dubbo/qos/command/annotation/Cmd.java   |  68 ----
 .../qos/command/decoder/HttpCommandDecoder.java    |  17 +-
 .../qos/command/decoder/TelnetCommandDecoder.java  |   2 +-
 .../apache/dubbo/qos/command/impl/BaseOffline.java |   6 +-
 .../apache/dubbo/qos/command/impl/BaseOnline.java  |   4 +-
 .../dubbo/qos/command/impl/ChangeTelnet.java       |   8 +-
 .../apache/dubbo/qos/command/impl/CountTelnet.java |   8 +-
 .../qos/command/impl/DisableDetailProfiler.java    |   6 +-
 .../qos/command/impl/DisableRouterSnapshot.java    |   6 +-
 .../qos/command/impl/DisableSimpleProfiler.java    |   6 +-
 .../qos/command/impl/EnableDetailProfiler.java     |   6 +-
 .../qos/command/impl/EnableRouterSnapshot.java     |   6 +-
 .../qos/command/impl/EnableSimpleProfiler.java     |   6 +-
 .../apache/dubbo/qos/command/impl/GetConfig.java   | 200 +++++++++++
 .../qos/command/impl/GetEnabledRouterSnapshot.java |   6 +-
 .../qos/command/impl/GetRecentRouterSnapshot.java  |   6 +-
 .../dubbo/qos/command/impl/GetRouterSnapshot.java  |   8 +-
 .../org/apache/dubbo/qos/command/impl/Help.java    |  12 +-
 .../dubbo/qos/command/impl/InvokeTelnet.java       |   8 +-
 .../org/apache/dubbo/qos/command/impl/Live.java    |   8 +-
 .../apache/dubbo/qos/command/impl/LoggerInfo.java  |   6 +-
 .../java/org/apache/dubbo/qos/command/impl/Ls.java |   8 +-
 .../org/apache/dubbo/qos/command/impl/Offline.java |   2 +-
 .../apache/dubbo/qos/command/impl/OfflineApp.java  |   2 +-
 .../dubbo/qos/command/impl/OfflineInterface.java   |   2 +-
 .../org/apache/dubbo/qos/command/impl/Online.java  |   2 +-
 .../apache/dubbo/qos/command/impl/OnlineApp.java   |   2 +-
 .../dubbo/qos/command/impl/OnlineInterface.java    |   2 +-
 .../apache/dubbo/qos/command/impl/PortTelnet.java  |   8 +-
 .../dubbo/qos/command/impl/PublishMetadata.java    |   6 +-
 .../apache/dubbo/qos/command/impl/PwdTelnet.java   |   6 +-
 .../org/apache/dubbo/qos/command/impl/Quit.java    |   8 +-
 .../org/apache/dubbo/qos/command/impl/Ready.java   |   8 +-
 .../dubbo/qos/command/impl/SelectTelnet.java       |   6 +-
 .../qos/command/impl/SerializeCheckStatus.java     |   6 +-
 .../qos/command/impl/SerializeWarnedClasses.java   |   6 +-
 .../qos/command/impl/SetProfilerWarnPercent.java   |   6 +-
 .../dubbo/qos/command/impl/ShutdownTelnet.java     |   8 +-
 .../org/apache/dubbo/qos/command/impl/Startup.java |  10 +-
 .../dubbo/qos/command/impl/SwitchLogLevel.java     |   6 +-
 .../dubbo/qos/command/impl/SwitchLogger.java       |   6 +-
 .../org/apache/dubbo/qos/command/impl/Version.java |   6 +-
 .../dubbo/qos/command/util/CommandHelper.java      |   4 +-
 .../apache/dubbo/qos/common/QosConfiguration.java  | 118 -------
 .../DefaultAnonymousAccessPermissionChecker.java   |  29 +-
 .../dubbo/qos/permission/PermissionChecker.java    |   3 +-
 .../dubbo/qos/permission/PermissionLevel.java      |  67 ----
 .../qos/probe/impl/ProviderReadinessProbe.java     |   4 +-
 .../dubbo/qos/protocol/QosProtocolWrapper.java     |   6 +-
 .../org/apache/dubbo/qos/pu/QosWireProtocol.java   |   4 +-
 .../org/apache/dubbo/qos/pu/TelnetDetector.java    |  23 +-
 .../java/org/apache/dubbo/qos/server/Server.java   |   4 +-
 .../server/handler/ForeignHostPermitHandler.java   |  36 +-
 .../qos/server/handler/HttpProcessHandler.java     |   4 +-
 .../qos/server/handler/QosProcessHandler.java      |   2 +-
 .../qos/server/handler/TelnetProcessHandler.java   |   4 +-
 .../internal/org.apache.dubbo.qos.api.BaseCommand  |  37 ++
 .../org.apache.dubbo.qos.command.BaseCommand       |  36 --
 .../qos/command/CommandContextFactoryTest.java     |   5 +-
 .../dubbo/qos/command/CommandContextTest.java      |   5 +-
 .../qos/command/DefaultCommandExecutorTest.java    |  13 +-
 .../apache/dubbo/qos/command/GreetingCommand.java  |   4 +-
 .../command/decoder/HttpCommandDecoderTest.java    |   8 +-
 .../command/decoder/TelnetCommandDecoderTest.java  |   4 +-
 .../dubbo/qos/command/impl/ChangeTelnetTest.java   |   6 +-
 .../dubbo/qos/command/impl/CountTelnetTest.java    |   6 +-
 .../dubbo/qos/command/impl/GetConfigTest.java      | 140 ++++++++
 .../apache/dubbo/qos/command/impl/HelpTest.java    |   8 +-
 .../dubbo/qos/command/impl/InvokeTelnetTest.java   |   4 +-
 .../apache/dubbo/qos/command/impl/LiveTest.java    |   2 +-
 .../org/apache/dubbo/qos/command/impl/LsTest.java  |   2 +-
 .../apache/dubbo/qos/command/impl/OfflineTest.java |   2 +-
 .../apache/dubbo/qos/command/impl/OnlineTest.java  |   2 +-
 .../dubbo/qos/command/impl/PortTelnetTest.java     |   6 +-
 .../qos/command/impl/PublishMetadataTest.java      |   2 +-
 .../dubbo/qos/command/impl/PwdTelnetTest.java      |   6 +-
 .../apache/dubbo/qos/command/impl/QuitTest.java    |   4 +-
 .../apache/dubbo/qos/command/impl/ReadyTest.java   |   4 +-
 .../dubbo/qos/command/impl/SelectTelnetTest.java   |   6 +-
 .../qos/command/impl/SerializeCheckStatusTest.java |   2 +-
 .../command/impl/SerializeWarnedClassesTest.java   |   2 +-
 .../dubbo/qos/command/impl/ShutdownTelnetTest.java |   6 +-
 .../apache/dubbo/qos/command/impl/StartupTest.java |   4 +-
 .../dubbo/qos/command/util/CommandHelperTest.java  |  15 +-
 .../legacy/service/generic/GenericServiceTest.java |   4 +-
 ...efaultAnonymousAccessPermissionCheckerTest.java |  83 +++++
 .../dubbo/qos/protocol/QosProtocolWrapperTest.java |   2 +-
 .../handler/ForeignHostPermitHandlerTest.java      |   4 +-
 .../qos/server/handler/HttpProcessHandlerTest.java |   4 +-
 .../qos/server/handler/QosProcessHandlerTest.java  |   2 +-
 .../server/handler/TelnetProcessHandlerTest.java   |   4 +-
 ...ommand => org.apache.dubbo.qos.api.BaseCommand} |   0
 dubbo-plugin/dubbo-security/pom.xml                | 131 +++++++
 .../org/apache/dubbo/security/cert/CertConfig.java |  82 +++++
 .../dubbo/security/cert/CertDeployerListener.java  |  68 ++++
 .../org/apache/dubbo/security/cert/CertPair.java   |  70 ++++
 .../security/cert/CertScopeModelInitializer.java   |  54 +++
 .../org/apache/dubbo/security/cert/Constants.java  |  21 ++
 .../dubbo/security/cert/DubboCertManager.java      | 377 +++++++++++++++++++++
 .../dubbo/security/cert/DubboCertProvider.java     |  64 ++++
 .../dubbo-security/src/main/proto/ca.proto         |  47 +++
 ...e.dubbo.common.deploy.ApplicationDeployListener |   1 +
 .../org.apache.dubbo.common.ssl.CertProvider       |   1 +
 ...rg.apache.dubbo.rpc.model.ScopeModelInitializer |   1 +
 .../security/cert/CertDeployerListenerTest.java    | 242 +++++++++++++
 .../dubbo/security/cert/DubboCertManagerTest.java  | 284 ++++++++++++++++
 .../dubbo/security/cert/DubboCertProviderTest.java | 150 ++++++++
 .../src/test/resources/certs/broken-ca.crt         |   7 +
 .../dubbo-security/src/test/resources/certs/ca.crt |  15 +
 .../dubbo-security/src/test/resources/certs/token  |   1 +
 dubbo-plugin/dubbo-spring-security/pom.xml         |  13 +
 .../AuthenticationExceptionTranslatorFilter.java   |   4 +-
 .../ContextHolderAuthenticationPrepareFilter.java  |  11 +-
 .../ContextHolderAuthenticationResolverFilter.java |  10 +-
 .../spring/security/jackson/ObjectMapperCodec.java | 114 +++++++
 .../jackson/ObjectMapperCodecCustomer.java         |  27 ++
 .../model/SecurityScopeModelInitializer.java       |  57 ++++
 .../spring/security/utils/ObjectMapperCodec.java   |  66 ----
 ...rg.apache.dubbo.rpc.model.ScopeModelInitializer |   1 +
 .../security/jackson/ObjectMapperCodecTest.java    |  72 ++++
 dubbo-plugin/pom.xml                               |   2 +
 dubbo-registry/dubbo-registry-api/pom.xml          |  25 ++
 .../registry/client/AbstractServiceDiscovery.java  |  39 ++-
 .../dubbo/registry/client/InstanceAddressURL.java  |  60 ++++
 .../registry/client/ServiceDiscoveryRegistry.java  |  21 +-
 .../client/ServiceDiscoveryRegistryDirectory.java  |  80 ++++-
 .../listener/ServiceInstancesChangedListener.java  |  48 ++-
 .../metadata/MetadataServiceNameMapping.java       |  28 +-
 .../registry/client/metadata/MetadataUtils.java    |   2 +-
 .../DefaultMigrationAddressComparator.java         |   9 +-
 .../client/migration/MigrationInvoker.java         |  19 +-
 .../client/migration/MigrationRuleHandler.java     |  14 +-
 .../client/migration/MigrationRuleListener.java    |  72 ++--
 .../integration/AbstractConfiguratorListener.java  |   6 +-
 .../registry/integration/DynamicDirectory.java     |  11 +-
 .../registry/integration/RegistryDirectory.java    |  45 ++-
 .../java/org/apache/dubbo/registry/ZKTools.java    |   2 +-
 .../client/ServiceDiscoveryRegistryTest.java       |   1 +
 .../metadata/MetadataServiceNameMappingTest.java   |   4 +-
 .../DefaultMigrationAddressComparatorTest.java     |   5 +-
 .../client/migration/MigrationInvokerTest.java     |  14 +-
 .../client/migration/MigrationRuleHandlerTest.java |   8 +-
 .../migration/MigrationRuleListenerTest.java       |   4 +-
 .../client/migration/model/MigrationRuleTest.java  |  10 +-
 .../registry/integration/DynamicDirectoryTest.java |   5 +
 .../registry/integration/RegistryProtocolTest.java |  11 +-
 .../support/AbstractRegistryFactoryTest.java       |   6 +-
 .../registry/support/AbstractRegistryTest.java     |   3 +-
 .../registry/nacos/NacosNamingServiceWrapper.java  |  44 +--
 .../dubbo/registry/nacos/MockNamingService.java    |  92 ++---
 .../nacos/NacosConnectionsManagerTest.java         |  26 +-
 .../nacos/NacosNamingServiceWrapperTest.java       |  24 +-
 .../java/org/apache/dubbo/remoting/Constants.java  |  14 +-
 .../dubbo/remoting/buffer/ChannelBuffer.java       |   8 +
 .../remoting/buffer/DynamicChannelBuffer.java      |   5 +
 .../dubbo/remoting/exchange/HeartBeatRequest.java  |  33 ++
 .../dubbo/remoting/exchange/HeartBeatResponse.java |  33 ++
 .../apache/dubbo/remoting/exchange/Request.java    |  16 +-
 .../remoting/exchange/codec/ExchangeCodec.java     |  20 +-
 .../support/header/HeaderExchangeChannel.java      |  33 +-
 .../exchange/support/header/HeartbeatHandler.java  |  10 +-
 .../dubbo/remoting/transport/AbstractCodec.java    |  13 +
 .../dubbo/remoting/exchange/RequestTest.java       |   2 +
 .../exchange/support/DefaultFutureTest.java        |   2 +-
 .../remoting/transport/AbstractCodecTest.java      |  32 +-
 dubbo-remoting/dubbo-remoting-http/pom.xml         |  20 +-
 .../apache/dubbo/remoting/http/BaseRestClient.java |  43 +++
 .../dubbo/remoting/http/RequestTemplate.java       | 303 +++++++++++++++++
 .../org/apache/dubbo/remoting/http/RestClient.java |  50 +++
 .../org/apache/dubbo/remoting/http/RestResult.java |  35 ++
 .../remoting/http/config/HttpClientConfig.java     |  62 ++++
 .../http/factory/AbstractHttpClientFactory.java    |  87 +++++
 .../remoting/http/factory/RestClientFactory.java   |  38 +++
 .../http/factory/impl/ApacheHttpClientFactory.java |  37 ++
 .../http/factory/impl/OkHttpClientFactory.java     |  36 ++
 .../factory/impl/URLConnectionClientFactory.java   |  36 ++
 .../http/restclient/HttpClientRestClient.java      | 153 +++++++++
 .../remoting/http/restclient/OKHttpRestClient.java | 144 ++++++++
 .../http/restclient/URLConnectionRestClient.java   | 181 ++++++++++
 ...e.dubbo.remoting.http.factory.RestClientFactory |   4 +
 .../http/jetty/JettyLoggerAdapterTest.java         |   4 +-
 .../transport/netty/ClientToServerTest.java        |   2 +-
 .../remoting/transport/netty/NettyStringTest.java  |   4 +-
 .../transport/netty4/NettyBackedChannelBuffer.java |   6 +
 .../remoting/transport/netty4/NettyClient.java     |  10 +-
 .../transport/netty4/NettyConnectionClient.java    |   8 +-
 .../netty4/NettyPortUnificationServer.java         |  12 +-
 .../netty4/NettyPortUnificationServerHandler.java  |  41 ++-
 .../remoting/transport/netty4/NettyServer.java     |   6 +-
 .../transport/netty4/ssl/SslClientTlsHandler.java  |   2 +-
 .../remoting/transport/netty4/ssl/SslContexts.java |  40 ++-
 .../transport/netty4/ssl/SslServerTlsHandler.java  |  59 ++--
 .../transport/netty4/RpcMessageHandler.java        |   2 +-
 .../MultiplexProtocolConnectionManagerTest.java    |   1 -
 .../curator5/Curator5ZookeeperClientTest.java      |   8 +-
 .../curator5/Curator5ZookeeperTransporterTest.java |   2 +-
 .../support/AbstractZookeeperTransporterTest.java  |  10 +-
 .../curator/CuratorZookeeperClientTest.java        |  10 +-
 .../support/AbstractZookeeperTransporterTest.java  |  10 +-
 .../main/java/org/apache/dubbo/rpc/Constants.java  |   2 +
 .../java/org/apache/dubbo/rpc/RpcException.java    |   5 +
 .../org/apache/dubbo/rpc/RpcServiceContext.java    |  11 +
 .../apache/dubbo/rpc/filter/AccessLogFilter.java   | 108 ++++--
 .../apache/dubbo/rpc/filter/GenericImplFilter.java |   4 +-
 .../dubbo/rpc/listener/ExporterChangeListener.java |  27 ++
 .../listener/ExporterScopeModelInitializer.java    |  41 +++
 .../dubbo/rpc/listener/InjvmExporterListener.java  |  79 +++++
 .../dubbo/rpc/protocol/AbstractProxyProtocol.java  |  51 +--
 .../dubbo/rpc/protocol/InvokerCountWrapper.java    |  57 ++++
 .../rpc/protocol/ProtocolListenerWrapper.java      |  10 +-
 .../rpc/protocol/ReferenceCountInvokerWrapper.java |  87 +++++
 .../dubbo/internal/org.apache.dubbo.rpc.Protocol   |   1 +
 ...rg.apache.dubbo.rpc.model.ScopeModelInitializer |   1 +
 .../java/org/apache/dubbo/rpc/RpcContextTest.java  |   2 -
 .../dubbo/rpc/filter/AccessLogFilterTest.java      |  93 ++++-
 .../dubbo/rpc/filter/ActiveLimitFilterTest.java    |   4 +-
 .../apache/dubbo/rpc/filter/TimeoutFilterTest.java |   4 +-
 .../rpc/filter/tps/DefaultTPSLimiterTest.java      |   8 +-
 .../apache/dubbo/rpc/proxy/AbstractProxyTest.java  |   4 +-
 .../dubbo-rpc-api/src/test/resources/log4j.xml     |  10 +-
 .../rpc/protocol/dubbo/ChannelWrappedInvoker.java  |  17 +-
 .../dubbo/rpc/protocol/dubbo/DubboCodec.java       |  22 +-
 .../dubbo/rpc/protocol/dubbo/DubboInvoker.java     |  22 +-
 .../rpc/protocol/dubbo/ArgumentCallbackTest.java   |   6 +-
 .../protocol/dubbo/DubboInvokerAvailableTest.java  |   4 +-
 .../rpc/protocol/dubbo/DubboProtocolTest.java      |  10 +-
 dubbo-rpc/dubbo-rpc-injvm/pom.xml                  |   5 -
 .../dubbo/rpc/protocol/injvm/InjvmProtocol.java    |   3 +-
 .../rpc/protocol/injvm/InjvmClassLoaderTest.java   |   4 +-
 .../rpc/protocol/injvm/InjvmProtocolTest.java      |  24 +-
 .../dubbo/rpc/protocol/injvm/ProtocolTest.java     |   3 +-
 dubbo-rpc/dubbo-rpc-rest/pom.xml                   |  40 ++-
 .../rpc/protocol/rest/BaseRestProtocolServer.java  |  12 +-
 .../apache/dubbo/rpc/protocol/rest/Constants.java  |  14 +-
 .../rpc/protocol/rest/DubboHttpProtocolServer.java |   9 +-
 .../rpc/protocol/rest/DubboResourceFactory.java    |  22 +-
 .../rpc/protocol/rest/NettyRestProtocolServer.java |   7 +-
 .../rpc/protocol/rest/ReferenceCountedClient.java  |  49 ++-
 .../dubbo/rpc/protocol/rest/RestProtocol.java      | 291 ++++++++--------
 .../rpc/protocol/rest/RestProtocolServer.java      |   4 +-
 .../dubbo/rpc/protocol/rest/RestServerFactory.java |  13 +-
 .../dubbo/rpc/protocol/rest/RpcContextFilter.java  |   9 +-
 .../rpc/protocol/rest/RpcExceptionMapper.java      |  11 +-
 .../protocol/rest/annotation/BaseParseContext.java |  51 +++
 .../rpc/protocol/rest/annotation/ParamParser.java  |  24 ++
 .../rest/annotation/ParamParserManager.java        |  61 ++++
 .../annotation/consumer/HttpConnectionConfig.java  |  51 +++
 .../consumer/HttpConnectionCreateContext.java      |  81 +++++
 .../consumer/HttpConnectionPreBuildIntercept.java  |  25 ++
 .../inercept/AddMustAttachmentIntercept.java       |  48 +++
 .../consumer/inercept/AttachmentIntercept.java     |  70 ++++
 .../consumer/inercept/ParamParseIntercept.java     |  39 +++
 .../consumer/inercept/PathVariableIntercept.java   |  51 +++
 .../consumer/inercept/RequestHeaderIntercept.java  |  54 +++
 .../consumer/inercept/SerializeBodyIntercept.java  |  66 ++++
 .../rest/annotation/metadata/MetadataResolver.java |  57 ++++
 .../parse/consumer/BaseConsumerParamParser.java    |  29 ++
 .../parse/consumer/BodyConsumerParamParser.java    |  45 +++
 .../param/parse/consumer/ConsumerParseContext.java |  34 ++
 .../parse/consumer/FormConsumerParamParser.java    |  54 +++
 .../parse/consumer/HeaderConsumerParamParser.java  |  41 +++
 .../consumer/ParameterConsumerParamParser.java     |  41 +++
 .../rpc/protocol/rest/constans/RestConstant.java   |  60 ++++
 .../exception/CodeStyleNotSupportException.java    |  24 ++
 .../rest/exception/HttpClientException.java        |  24 ++
 .../exception/RemoteServerInternalException.java   |  24 ++
 .../exception/UnSupportContentTypeException.java   |  27 ++
 .../protocol/rest/message/HttpMessageCodec.java    |  30 ++
 .../rest/message/HttpMessageCodecManager.java      |  51 +++
 .../protocol/rest/message/HttpMessageDecode.java   |  24 ++
 .../protocol/rest/message/HttpMessageEncode.java   |  28 ++
 .../protocol/rest/message/MediaTypeMatcher.java    |  64 ++++
 .../rest/message/codec/ByteArrayCodec.java         |  45 +++
 .../rpc/protocol/rest/message/codec/JsonCodec.java |  57 ++++
 .../rest/message/codec/MultiValueCodec.java        |  48 +++
 .../protocol/rest/message/codec/StringCodec.java   |  47 +++
 .../rpc/protocol/rest/message/codec/TextCodec.java |  47 +++
 .../rpc/protocol/rest/message/codec/XMLCodec.java  |  72 ++++
 .../rpc/protocol/rest/util/DataParseUtils.java     | 215 ++++++++++++
 .../rpc/protocol/rest/util/MediaTypeUtil.java      |  42 +++
 .../rpc/protocol/rest/util/MultiValueCreator.java  |  55 +++
 .../dubbo/rpc/protocol/rest/util/NumberUtils.java  | 149 ++++++++
 .../dubbo/rpc/protocol/rest/util/ReflectUtils.java | 269 +++++++++++++++
 .../dubbo/rpc/protocol/rest/util/StreamUtils.java  |  41 +++
 .../dubbo/rpc/protocol/rest/util/TypeUtil.java     |  38 +++
 ...tation.consumer.HttpConnectionPreBuildIntercept |   6 +
 ...on.param.parse.consumer.BaseConsumerParamParser |   5 +
 ...ubbo.rpc.protocol.rest.message.HttpMessageCodec |   6 +
 .../dubbo/rpc/protocol/rest/DemoService.java       |  29 +-
 .../dubbo/rpc/protocol/rest/DemoServiceImpl.java   |  19 +-
 .../rpc/protocol/rest/JaxrsRestProtocolTest.java   | 323 ++++++++++++++++++
 .../dubbo/rpc/protocol/rest/RestProtocolTest.java  | 260 --------------
 .../rpc/protocol/rest/RpcExceptionMapperTest.java  |   4 +-
 .../protocol/rest/SpringMvcRestProtocolTest.java   | 278 +++++++++++++++
 .../org/apache/dubbo/rpc/protocol/rest/User.java   |  62 ++++
 .../dubbo/rpc/protocol/rest/mvc/DemoService.java   |  36 ++
 .../protocol/rest/mvc/SpringDemoServiceImpl.java   |  55 +++
 .../protocol/rest/rest/AnotherUserRestService.java |  57 ++++
 .../rest/rest/AnotherUserRestServiceImpl.java      |  53 +++
 .../rpc/protocol/rest/rest/RegistrationResult.java |  44 +++
 .../rpc/protocol/rest/rest/RestDemoService.java    |  43 +++
 .../protocol/rest/rest/RestDemoServiceImpl.java    |  55 +++
 dubbo-rpc/dubbo-rpc-triple/pom.xml                 |   4 +-
 .../rpc/protocol/tri/ReflectionPackableMethod.java |  22 +-
 .../protocol/tri/TripleCustomerProtocolWapper.java |   2 +-
 .../protocol/tri/TripleHttp2FrameCodecBuilder.java |  70 ++++
 .../rpc/protocol/tri/TripleHttp2Protocol.java      |   9 +-
 .../dubbo/rpc/protocol/tri/TripleInvoker.java      |  17 +-
 .../rpc/protocol/tri/call/AbstractServerCall.java  |  39 ++-
 .../tri/call/AbstractServerCallListener.java       |  11 +-
 .../rpc/protocol/tri/call/TripleClientCall.java    |   6 +-
 .../protocol/tri/call/UnaryServerCallListener.java |  13 +-
 .../protocol/tri/command/CancelQueueCommand.java   |  10 +-
 .../tri/command/CreateStreamQueueCommand.java      |  61 ++++
 .../rpc/protocol/tri/command/DataQueueCommand.java |  12 +-
 .../tri/command/EndStreamQueueCommand.java         |  11 +-
 .../protocol/tri/command/HeaderQueueCommand.java   |  14 +-
 .../rpc/protocol/tri/command/QueuedCommand.java    |   8 +-
 .../protocol/tri/command/StreamQueueCommand.java   |  47 +++
 .../protocol/tri/command/TextDataQueueCommand.java |  10 +-
 .../protocol/tri/stream/TripleClientStream.java    |  72 ++--
 .../protocol/tri/stream/TripleServerStream.java    |  14 +-
 .../tri/stream/TripleStreamChannelFuture.java      |  66 ++++
 .../protocol/tri/transport/TripleWriteQueue.java   |  15 +-
 .../tri/stream/TripleClientStreamTest.java         |  22 +-
 .../rpc/protocol/tri/transport/WriteQueueTest.java |  21 +-
 .../pom.xml                                        | 101 ++++++
 .../ConditionalOnDubboTracingEnable.java           |  34 ++
 .../DubboMicrometerTracingAutoConfiguration.java   |  78 +++++
 .../DubboObservationAutoConfiguration.java         | 155 +++++++++
 .../autoconfigure/ObservationHandlerGrouping.java  |  74 ++++
 .../ObservationRegistryPostProcessor.java          |  54 +++
 .../brave/BraveAutoConfiguration.java              | 261 ++++++++++++++
 .../otel/OpenTelemetryAutoConfiguration.java       | 257 ++++++++++++++
 .../config/DubboTracingProperties.java             | 191 +++++++++++
 .../META-INF/spring-configuration-metadata.json    |  82 +++++
 .../src/main/resources/META-INF/spring.factories   |   6 +
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   4 +
 dubbo-spring-boot/pom.xml                          |   7 +-
 dubbo-test/dubbo-dependencies-all/pom.xml          |  27 ++
 .../test/common/api/SpringmvcDemoService.java      |  21 ++
 .../java/org/apache/dubbo/dependency/FileTest.java |   1 +
 dubbo-xds/pom.xml                                  |   4 +-
 .../xds/util/bootstrap/BootstrapperTest.java       |   2 +-
 pom.xml                                            |  35 +-
 903 files changed, 27442 insertions(+), 5914 deletions(-)