Skip to content

Commit

Permalink
2.7.8 Bugfix (#6452)
Browse files Browse the repository at this point in the history
* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6171 : [Feature] Introducing the composite implementation of MetadataService

* 2.7.8 service introspection (#6300)

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6171 : [Feature] Introducing the composite implementation of MetadataService

* Polish apache/dubbo#6305 : [Refactor] ServiceConfig and ReferenceConfig publish the ServiceDefinition based on the Dubbo Event

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* 2.7.8 service introspection update (#6308)

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6171 : [Feature] Introducing the composite implementation of MetadataService

* Revert "fix wrong check of InvokerListener when export a service (fix issue_6269) (#6271)"

This reverts commit 91989cae508f8482f31ac335879da4a5975661c8.

* Revert "fix wrong check of InvokerListener when export a service (fix issue_6269) (#6271)"

This reverts commit 91989cae508f8482f31ac335879da4a5975661c8.

* Revert the MetadataReport

* Polish apache/dubbo#6305 : [Refactor] ServiceConfig and ReferenceConfig publish the ServiceDefinition based on the Dubbo Event

* Polish apache/dubbo#6310 : Refactoring MetadataReport's methods

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6315 : [Refactor] Refactoring the implementation of MetadataReport based on The Config-Center infrastructure

Deprecated List :

- NacosMetadataReport
- ZookeeperMetadataReport

* Polish apache/dubbo#6315 : Refactoring by TreePathDynamicConfiguration

* Polish apache/dubbo#6315 : Refactoring ConsulDynamicConfiguration by TreePathDynamicConfiguration

* Polish apache/dubbo#6315 : Reset the config base path to be "metadata" for ConfigCenterBasedMetadataReportFactory

* Polish apache/dubbo#6315 : Bugfix

* Polish apache/dubbo#6315 : Bugfix

* 2.7.8 service introspection (#6317)

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6171 : [Feature] Introducing the composite implementation of MetadataService

* Revert "fix wrong check of InvokerListener when export a service (fix issue_6269) (#6271)"

This reverts commit 91989cae508f8482f31ac335879da4a5975661c8.

* Revert "fix wrong check of InvokerListener when export a service (fix issue_6269) (#6271)"

This reverts commit 91989cae508f8482f31ac335879da4a5975661c8.

* Revert the MetadataReport

* Polish apache/dubbo#6305 : [Refactor] ServiceConfig and ReferenceConfig publish the ServiceDefinition based on the Dubbo Event

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6310 : Refactoring MetadataReport's methods

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6315 : [Refactor] Refactoring the implementation of MetadataReport based on The Config-Center infrastructure

Deprecated List :

- NacosMetadataReport
- ZookeeperMetadataReport

* Polish apache/dubbo#6315 : Refactoring by TreePathDynamicConfiguration

* Polish apache/dubbo#6315 : Refactoring ConsulDynamicConfiguration by TreePathDynamicConfiguration

* Polish apache/dubbo#6315 : Reset the config base path to be "metadata" for ConfigCenterBasedMetadataReportFactory

* Polish apache/dubbo#6315 : Bugfix

* Polish apache/dubbo#6315 : Bugfix

* Polish apache/dubbo#6315 : Correct words

* Polish apache/dubbo#6333 : [Refactor] Using mandatory implementation of Service Instance registration instead of the event

* Polish apache/dubbo#6336 : [Refactor] org.apache.dubbo.metadata.ServiceNameMapping

* 2.7.8 service introspection (#6337)

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6171 : [Feature] Introducing the composite implementation of MetadataService

* Revert "fix wrong check of InvokerListener when export a service (fix issue_6269) (#6271)"

This reverts commit 91989cae508f8482f31ac335879da4a5975661c8.

* Revert "fix wrong check of InvokerListener when export a service (fix issue_6269) (#6271)"

This reverts commit 91989cae508f8482f31ac335879da4a5975661c8.

* Revert the MetadataReport

* Polish apache/dubbo#6305 : [Refactor] ServiceConfig and ReferenceConfig publish the ServiceDefinition based on the Dubbo Event

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6310 : Refactoring MetadataReport's methods

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6315 : [Refactor] Refactoring the implementation of MetadataReport based on The Config-Center infrastructure

Deprecated List :

- NacosMetadataReport
- ZookeeperMetadataReport

* Polish apache/dubbo#6315 : Refactoring by TreePathDynamicConfiguration

* Polish apache/dubbo#6315 : Refactoring ConsulDynamicConfiguration by TreePathDynamicConfiguration

* Polish apache/dubbo#6315 : Reset the config base path to be "metadata" for ConfigCenterBasedMetadataReportFactory

* Polish apache/dubbo#6315 : Bugfix

* Polish apache/dubbo#6315 : Bugfix

* Polish apache/dubbo#6315 : Correct words

* Polish apache/dubbo#6333 : [Refactor] Using mandatory implementation of Service Instance registration instead of the event

* Polish apache/dubbo#6336 : [Refactor] org.apache.dubbo.metadata.ServiceNameMapping

* Polish apache/dubbo#6170 : [Feature] Introducing the externalized configuration for ServiceNameMapping

* Polish apache/dubbo#6342 : [Enhancement] Introducing the composite ServiceNameMapping

* Refactor

* Polish apache/dubbo#6172 : [Feature] Adding the "services" attribute methods into @DubboReference

* Polish apache/dubbo#6173 : [Feature] Adding the "services" attribute into <dubbo:reference> element

* Polish apache/dubbo#6346 : [Issue] Merging all subscribied URLs from the multiple services

* Polish apache/dubbo#6346 : [Issue] Merging all subscribied URLs from the multiple services

* Polish apache/dubbo#6252

* Polish apache/dubbo#6356 & apache/dubbo#6171

* Polish apache/dubbo#6356 & apache/dubbo#6171

* Polish apache/dubbo#6224 : Filter chain was not invoked with local calls since v2.7.6

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* 2.7.8 service introspection (#6366)

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6171 : [Feature] Introducing the composite implementation of MetadataService

* Revert "fix wrong check of InvokerListener when export a service (fix issue_6269) (#6271)"

This reverts commit 91989cae508f8482f31ac335879da4a5975661c8.

* Revert "fix wrong check of InvokerListener when export a service (fix issue_6269) (#6271)"

This reverts commit 91989cae508f8482f31ac335879da4a5975661c8.

* Revert the MetadataReport

* Polish apache/dubbo#6305 : [Refactor] ServiceConfig and ReferenceConfig publish the ServiceDefinition based on the Dubbo Event

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6310 : Refactoring MetadataReport's methods

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6315 : [Refactor] Refactoring the implementation of MetadataReport based on The Config-Center infrastructure

Deprecated List :

- NacosMetadataReport
- ZookeeperMetadataReport

* Polish apache/dubbo#6315 : Refactoring by TreePathDynamicConfiguration

* Polish apache/dubbo#6315 : Refactoring ConsulDynamicConfiguration by TreePathDynamicConfiguration

* Polish apache/dubbo#6315 : Reset the config base path to be "metadata" for ConfigCenterBasedMetadataReportFactory

* Polish apache/dubbo#6315 : Bugfix

* Polish apache/dubbo#6315 : Bugfix

* Polish apache/dubbo#6315 : Correct words

* Polish apache/dubbo#6333 : [Refactor] Using mandatory implementation of Service Instance registration instead of the event

* Polish apache/dubbo#6336 : [Refactor] org.apache.dubbo.metadata.ServiceNameMapping

* Polish apache/dubbo#6170 : [Feature] Introducing the externalized configuration for ServiceNameMapping

* Polish apache/dubbo#6342 : [Enhancement] Introducing the composite ServiceNameMapping

* Refactor

* Polish apache/dubbo#6172 : [Feature] Adding the "services" attribute methods into @DubboReference

* Polish apache/dubbo#6173 : [Feature] Adding the "services" attribute into <dubbo:reference> element

* Polish apache/dubbo#6346 : [Issue] Merging all subscribied URLs from the multiple services

* Polish apache/dubbo#6346 : [Issue] Merging all subscribied URLs from the multiple services

* Polish apache/dubbo#6252

* Polish apache/dubbo#6356 & apache/dubbo#6171

* Polish apache/dubbo#6356 & apache/dubbo#6171

* Polish apache/dubbo#6224 : Filter chain was not invoked with local calls since v2.7.6

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : Adding META-INF/dubbo/internal/org.apache.dubbo.metadata.MetadataServiceExporter

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* 2.7.8 Test Cases (#6384)

* Polish apache/dubbo#6152

* Polish apache/dubbo#6174 : [Enhancement] Registering the common beans for Spring XML meta-configuration

* Polish apache/dubbo#6174 : Fixing the test-cases

* Polish apache/dubbo#6174 : Fixing the test-cases

* Add the test-case for multiple services with MethodConfigs

* Fixed the test-cases

* 2.7.8 Dev (#6386)

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6171 : [Feature] Introducing the composite implementation of MetadataService

* Revert "fix wrong check of InvokerListener when export a service (fix issue_6269) (#6271)"

This reverts commit 91989cae508f8482f31ac335879da4a5975661c8.

* Revert "fix wrong check of InvokerListener when export a service (fix issue_6269) (#6271)"

This reverts commit 91989cae508f8482f31ac335879da4a5975661c8.

* Revert the MetadataReport

* Polish apache/dubbo#6305 : [Refactor] ServiceConfig and ReferenceConfig publish the ServiceDefinition based on the Dubbo Event

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6310 : Refactoring MetadataReport's methods

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6315 : [Refactor] Refactoring the implementation of MetadataReport based on The Config-Center infrastructure

Deprecated List :

- NacosMetadataReport
- ZookeeperMetadataReport

* Polish apache/dubbo#6315 : Refactoring by TreePathDynamicConfiguration

* Polish apache/dubbo#6315 : Refactoring ConsulDynamicConfiguration by TreePathDynamicConfiguration

* Polish apache/dubbo#6315 : Reset the config base path to be "metadata" for ConfigCenterBasedMetadataReportFactory

* Polish apache/dubbo#6315 : Bugfix

* Polish apache/dubbo#6315 : Bugfix

* Polish apache/dubbo#6315 : Correct words

* sync wait netty server to finish shutdown (#6281)

* Polish apache/dubbo#6333 : [Refactor] Using mandatory implementation of Service Instance registration instead of the event

* maybe we can remove null judge in this case (#6321)

* update

* update

* Polish apache/dubbo#6336 : [Refactor] org.apache.dubbo.metadata.ServiceNameMapping

* Polish apache/dubbo#6170 : [Feature] Introducing the externalized configuration for ServiceNameMapping

* Polish apache/dubbo#6342 : [Enhancement] Introducing the composite ServiceNameMapping

* Refactor

* fix method name typo in JValidator.java (#6344)

* [Dubbo-6340]fix application cannot exit when use consul registry (#6341)

* fix application cannot exit when use consul registry

* make consul registry suppor ACL (#6313)

* make consul registry suppor ACL

* Polish apache/dubbo#6172 : [Feature] Adding the "services" attribute methods into @DubboReference

* Polish apache/dubbo#6173 : [Feature] Adding the "services" attribute into <dubbo:reference> element

* Polish apache/dubbo#6346 : [Issue] Merging all subscribied URLs from the multiple services

* Polish apache/dubbo#6346 : [Issue] Merging all subscribied URLs from the multiple services

* fix publish null value when use consul config center (#6351)

* fix publish null value when use consul config center

* Polish apache/dubbo#6252

* Polish apache/dubbo#6356 & apache/dubbo#6171

* Polish apache/dubbo#6356 & apache/dubbo#6171

* Polish apache/dubbo#6224 : Filter chain was not invoked with local calls since v2.7.6

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : Adding META-INF/dubbo/internal/org.apache.dubbo.metadata.MetadataServiceExporter

* fix the priority of ListenableRouter were not effective (#6148)

fixes #4822

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* when the url is generic, the log level should be info (#6363)

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* fix NPE when check=false is set and provider is empty. (#6376)

fixes #6228

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* fix #6306.  support TypeBuilder sort (#6365)

* fix #6306. support TypeBuilder sort

* fix #6306. support TypeBuilder sort

* fix #6306. support TypeBuilder sort

* remove unused import

* add license for test file

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* enhance ClusterInvoker & ExtensionLoader (#6343)

- Introduce ClusterInvoker to better support multiple registries subscription
- Wrapper sort and enable/disable
- some small fixes

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Fixed the test-cases

Co-authored-by: tswstarplanet <tswstarplanet@apache.org>
Co-authored-by: Nine <nine.yang.coding@gmail.com>
Co-authored-by: 陈哈哈 <chenyongjia365@outlook.com>
Co-authored-by: luoning810 <18311333766@163.com>
Co-authored-by: cvictory <shenglicao2@gmail.com>
Co-authored-by: ken.lj <ken.lj.hz@gmail.com>

* Fixes the issue of merging code in Github

* Polish apache/dubbo#6389 : [Issue] Resolving the issues with ConsulServiceDiscovery

* Fixes the test-cases

* Fixes the test-cases

* Fixes the test-cases

* Upgrade the release version to be 2.7.8

* Hessian2 whitelist (#6378)

fixes #6364

* Polish apache/dubbo#6261 : Migration the latest Nacos registry implementation to upstream

* Hessian whitelist2 (#6423)

* Polish apache/dubbo#6425 : [Infrastructure] Upgrading the spring-context-support to be 1.0.7

* double check lock (#6422)

* Correction: comments about multipleConfig (#6414)

* Polish apache/dubbo#6418 : Rest Protocol can't work when use Tomcat 9.0.x as web container for Dubbo 2.7.7

* fix bug: Rest Protocol can't work when use Tomcat as WebContainer (#6402)

Co-authored-by: 01376420 <1qaz!QAZ>

* Update @Service And @Reference with @DubboService and @DubboReference (#6355)

* 2.7.8 release (#6430)

* Upgrade the release version to be 2.7.8 (#6411)

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6171 : [Feature] Introducing the composite implementation of MetadataService

* 2.7.8 service introspection (#6300)

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6171 : [Feature] Introducing the composite implementation of MetadataService

* Polish apache/dubbo#6305 : [Refactor] ServiceConfig and ReferenceConfig publish the ServiceDefinition based on the Dubbo Event

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* 2.7.8 service introspection update (#6308)

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6171 : [Feature] Introducing the composite implementation of MetadataService

* Revert "fix wrong check of InvokerListener when export a service (fix issue_6269) (#6271)"

This reverts commit 91989cae508f8482f31ac335879da4a5975661c8.

* Revert "fix wrong check of InvokerListener when export a service (fix issue_6269) (#6271)"

This reverts commit 91989cae508f8482f31ac335879da4a5975661c8.

* Revert the MetadataReport

* Polish apache/dubbo#6305 : [Refactor] ServiceConfig and ReferenceConfig publish the ServiceDefinition based on the Dubbo Event

* Polish apache/dubbo#6310 : Refactoring MetadataReport's methods

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6315 : [Refactor] Refactoring the implementation of MetadataReport based on The Config-Center infrastructure

Deprecated List :

- NacosMetadataReport
- ZookeeperMetadataReport

* Polish apache/dubbo#6315 : Refactoring by TreePathDynamicConfiguration

* Polish apache/dubbo#6315 : Refactoring ConsulDynamicConfiguration by TreePathDynamicConfiguration

* Polish apache/dubbo#6315 : Reset the config base path to be "metadata" for ConfigCenterBasedMetadataReportFactory

* Polish apache/dubbo#6315 : Bugfix

* Polish apache/dubbo#6315 : Bugfix

* 2.7.8 service introspection (#6317)

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6171 : [Feature] Introducing the composite implementation of MetadataService

* Revert "fix wrong check of InvokerListener when export a service (fix issue_6269) (#6271)"

This reverts commit 91989cae508f8482f31ac335879da4a5975661c8.

* Revert "fix wrong check of InvokerListener when export a service (fix issue_6269) (#6271)"

This reverts commit 91989cae508f8482f31ac335879da4a5975661c8.

* Revert the MetadataReport

* Polish apache/dubbo#6305 : [Refactor] ServiceConfig and ReferenceConfig publish the ServiceDefinition based on the Dubbo Event

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6310 : Refactoring MetadataReport's methods

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6315 : [Refactor] Refactoring the implementation of MetadataReport based on The Config-Center infrastructure

Deprecated List :

- NacosMetadataReport
- ZookeeperMetadataReport

* Polish apache/dubbo#6315 : Refactoring by TreePathDynamicConfiguration

* Polish apache/dubbo#6315 : Refactoring ConsulDynamicConfiguration by TreePathDynamicConfiguration

* Polish apache/dubbo#6315 : Reset the config base path to be "metadata" for ConfigCenterBasedMetadataReportFactory

* Polish apache/dubbo#6315 : Bugfix

* Polish apache/dubbo#6315 : Bugfix

* Polish apache/dubbo#6315 : Correct words

* Polish apache/dubbo#6333 : [Refactor] Using mandatory implementation of Service Instance registration instead of the event

* Polish apache/dubbo#6336 : [Refactor] org.apache.dubbo.metadata.ServiceNameMapping

* 2.7.8 service introspection (#6337)

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6171 : [Feature] Introducing the composite implementation of MetadataService

* Revert "fix wrong check of InvokerListener when export a service (fix issue_6269) (#6271)"

This reverts commit 91989cae508f8482f31ac335879da4a5975661c8.

* Revert "fix wrong check of InvokerListener when export a service (fix issue_6269) (#6271)"

This reverts commit 91989cae508f8482f31ac335879da4a5975661c8.

* Revert the MetadataReport

* Polish apache/dubbo#6305 : [Refactor] ServiceConfig and ReferenceConfig publish the ServiceDefinition based on the Dubbo Event

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6310 : Refactoring MetadataReport's methods

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6315 : [Refactor] Refactoring the implementation of MetadataReport based on The Config-Center infrastructure

Deprecated List :

- NacosMetadataReport
- ZookeeperMetadataReport

* Polish apache/dubbo#6315 : Refactoring by TreePathDynamicConfiguration

* Polish apache/dubbo#6315 : Refactoring ConsulDynamicConfiguration by TreePathDynamicConfiguration

* Polish apache/dubbo#6315 : Reset the config base path to be "metadata" for ConfigCenterBasedMetadataReportFactory

* Polish apache/dubbo#6315 : Bugfix

* Polish apache/dubbo#6315 : Bugfix

* Polish apache/dubbo#6315 : Correct words

* Polish apache/dubbo#6333 : [Refactor] Using mandatory implementation of Service Instance registration instead of the event

* Polish apache/dubbo#6336 : [Refactor] org.apache.dubbo.metadata.ServiceNameMapping

* Polish apache/dubbo#6170 : [Feature] Introducing the externalized configuration for ServiceNameMapping

* Polish apache/dubbo#6342 : [Enhancement] Introducing the composite ServiceNameMapping

* Refactor

* Polish apache/dubbo#6172 : [Feature] Adding the "services" attribute methods into @DubboReference

* Polish apache/dubbo#6173 : [Feature] Adding the "services" attribute into <dubbo:reference> element

* Polish apache/dubbo#6346 : [Issue] Merging all subscribied URLs from the multiple services

* Polish apache/dubbo#6346 : [Issue] Merging all subscribied URLs from the multiple services

* Polish apache/dubbo#6252

* Polish apache/dubbo#6356 & apache/dubbo#6171

* Polish apache/dubbo#6356 & apache/dubbo#6171

* Polish apache/dubbo#6224 : Filter chain was not invoked with local calls since v2.7.6

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* 2.7.8 service introspection (#6366)

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6171 : [Feature] Introducing the composite implementation of MetadataService

* Revert "fix wrong check of InvokerListener when export a service (fix issue_6269) (#6271)"

This reverts commit 91989cae508f8482f31ac335879da4a5975661c8.

* Revert "fix wrong check of InvokerListener when export a service (fix issue_6269) (#6271)"

This reverts commit 91989cae508f8482f31ac335879da4a5975661c8.

* Revert the MetadataReport

* Polish apache/dubbo#6305 : [Refactor] ServiceConfig and ReferenceConfig publish the ServiceDefinition based on the Dubbo Event

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6310 : Refactoring MetadataReport's methods

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6315 : [Refactor] Refactoring the implementation of MetadataReport based on The Config-Center infrastructure

Deprecated List :

- NacosMetadataReport
- ZookeeperMetadataReport

* Polish apache/dubbo#6315 : Refactoring by TreePathDynamicConfiguration

* Polish apache/dubbo#6315 : Refactoring ConsulDynamicConfiguration by TreePathDynamicConfiguration

* Polish apache/dubbo#6315 : Reset the config base path to be "metadata" for ConfigCenterBasedMetadataReportFactory

* Polish apache/dubbo#6315 : Bugfix

* Polish apache/dubbo#6315 : Bugfix

* Polish apache/dubbo#6315 : Correct words

* Polish apache/dubbo#6333 : [Refactor] Using mandatory implementation of Service Instance registration instead of the event

* Polish apache/dubbo#6336 : [Refactor] org.apache.dubbo.metadata.ServiceNameMapping

* Polish apache/dubbo#6170 : [Feature] Introducing the externalized configuration for ServiceNameMapping

* Polish apache/dubbo#6342 : [Enhancement] Introducing the composite ServiceNameMapping

* Refactor

* Polish apache/dubbo#6172 : [Feature] Adding the "services" attribute methods into @DubboReference

* Polish apache/dubbo#6173 : [Feature] Adding the "services" attribute into <dubbo:reference> element

* Polish apache/dubbo#6346 : [Issue] Merging all subscribied URLs from the multiple services

* Polish apache/dubbo#6346 : [Issue] Merging all subscribied URLs from the multiple services

* Polish apache/dubbo#6252

* Polish apache/dubbo#6356 & apache/dubbo#6171

* Polish apache/dubbo#6356 & apache/dubbo#6171

* Polish apache/dubbo#6224 : Filter chain was not invoked with local calls since v2.7.6

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : Adding META-INF/dubbo/internal/org.apache.dubbo.metadata.MetadataServiceExporter

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* 2.7.8 Test Cases (#6384)

* Polish apache/dubbo#6152

* Polish apache/dubbo#6174 : [Enhancement] Registering the common beans for Spring XML meta-configuration

* Polish apache/dubbo#6174 : Fixing the test-cases

* Polish apache/dubbo#6174 : Fixing the test-cases

* Add the test-case for multiple services with MethodConfigs

* Fixed the test-cases

* 2.7.8 Dev (#6386)

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6171 : [Feature] Introducing the composite implementation of MetadataService

* Revert "fix wrong check of InvokerListener when export a service (fix issue_6269) (#6271)"

This reverts commit 91989cae508f8482f31ac335879da4a5975661c8.

* Revert "fix wrong check of InvokerListener when export a service (fix issue_6269) (#6271)"

This reverts commit 91989cae508f8482f31ac335879da4a5975661c8.

* Revert the MetadataReport

* Polish apache/dubbo#6305 : [Refactor] ServiceConfig and ReferenceConfig publish the ServiceDefinition based on the Dubbo Event

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6310 : Refactoring MetadataReport's methods

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6315 : [Refactor] Refactoring the implementation of MetadataReport based on The Config-Center infrastructure

Deprecated List :

- NacosMetadataReport
- ZookeeperMetadataReport

* Polish apache/dubbo#6315 : Refactoring by TreePathDynamicConfiguration

* Polish apache/dubbo#6315 : Refactoring ConsulDynamicConfiguration by TreePathDynamicConfiguration

* Polish apache/dubbo#6315 : Reset the config base path to be "metadata" for ConfigCenterBasedMetadataReportFactory

* Polish apache/dubbo#6315 : Bugfix

* Polish apache/dubbo#6315 : Bugfix

* Polish apache/dubbo#6315 : Correct words

* sync wait netty server to finish shutdown (#6281)

* Polish apache/dubbo#6333 : [Refactor] Using mandatory implementation of Service Instance registration instead of the event

* maybe we can remove null judge in this case (#6321)

* update

* update

* Polish apache/dubbo#6336 : [Refactor] org.apache.dubbo.metadata.ServiceNameMapping

* Polish apache/dubbo#6170 : [Feature] Introducing the externalized configuration for ServiceNameMapping

* Polish apache/dubbo#6342 : [Enhancement] Introducing the composite ServiceNameMapping

* Refactor

* fix method name typo in JValidator.java (#6344)

* [Dubbo-6340]fix application cannot exit when use consul registry (#6341)

* fix application cannot exit when use consul registry

* make consul registry suppor ACL (#6313)

* make consul registry suppor ACL

* Polish apache/dubbo#6172 : [Feature] Adding the "services" attribute methods into @DubboReference

* Polish apache/dubbo#6173 : [Feature] Adding the "services" attribute into <dubbo:reference> element

* Polish apache/dubbo#6346 : [Issue] Merging all subscribied URLs from the multiple services

* Polish apache/dubbo#6346 : [Issue] Merging all subscribied URLs from the multiple services

* fix publish null value when use consul config center (#6351)

* fix publish null value when use consul config center

* Polish apache/dubbo#6252

* Polish apache/dubbo#6356 & apache/dubbo#6171

* Polish apache/dubbo#6356 & apache/dubbo#6171

* Polish apache/dubbo#6224 : Filter chain was not invoked with local calls since v2.7.6

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : Adding META-INF/dubbo/internal/org.apache.dubbo.metadata.MetadataServiceExporter

* fix the priority of ListenableRouter were not effective (#6148)

fixes #4822

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* when the url is generic, the log level should be info (#6363)

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* fix NPE when check=false is set and provider is empty. (#6376)

fixes #6228

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* fix #6306.  support TypeBuilder sort (#6365)

* fix #6306. support TypeBuilder sort

* fix #6306. support TypeBuilder sort

* fix #6306. support TypeBuilder sort

* remove unused import

* add license for test file

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* enhance ClusterInvoker & ExtensionLoader (#6343)

- Introduce ClusterInvoker to better support multiple registries subscription
- Wrapper sort and enable/disable
- some small fixes

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Fixed the test-cases

Co-authored-by: tswstarplanet <tswstarplanet@apache.org>
Co-authored-by: Nine <nine.yang.coding@gmail.com>
Co-authored-by: 陈哈哈 <chenyongjia365@outlook.com>
Co-authored-by: luoning810 <18311333766@163.com>
Co-authored-by: cvictory <shenglicao2@gmail.com>
Co-authored-by: ken.lj <ken.lj.hz@gmail.com>

* Fixes the issue of merging code in Github

* Polish apache/dubbo#6389 : [Issue] Resolving the issues with ConsulServiceDiscovery

* Fixes the test-cases

* Fixes the test-cases

* Fixes the test-cases

* Upgrade the release version to be 2.7.8

Co-authored-by: tswstarplanet <tswstarplanet@apache.org>
Co-authored-by: Nine <nine.yang.coding@gmail.com>
Co-authored-by: 陈哈哈 <chenyongjia365@outlook.com>
Co-authored-by: luoning810 <18311333766@163.com>
Co-authored-by: cvictory <shenglicao2@gmail.com>
Co-authored-by: ken.lj <ken.lj.hz@gmail.com>

* Hessian2 whitelist (#6378) (#6415)

* Hessian2 whitelist (#6378)

fixes #6364

* Hessian whitelist2 (#6423)

* double check lock (#6422)

* Correction: comments about multipleConfig (#6414)

Co-authored-by: ken.lj <ken.lj.hz@gmail.com>
Co-authored-by: diguage <leejun119@gmail.com>
Co-authored-by: 月泉 <yuequan1997@gmail.com>

* [2.7.8] Migration the latest Nacos registry implementation to upstream (#6417)

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6171 : [Feature] Introducing the composite implementation of MetadataService

* 2.7.8 service introspection (#6300)

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6171 : [Feature] Introducing the composite implementation of MetadataService

* Polish apache/dubbo#6305 : [Refactor] ServiceConfig and ReferenceConfig publish the ServiceDefinition based on the Dubbo Event

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* 2.7.8 service introspection update (#6308)

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6171 : [Feature] Introducing the composite implementation of MetadataService

* Revert "fix wrong check of InvokerListener when export a service (fix issue_6269) (#6271)"

This reverts commit 91989cae508f8482f31ac335879da4a5975661c8.

* Revert "fix wrong check of InvokerListener when export a service (fix issue_6269) (#6271)"

This reverts commit 91989cae508f8482f31ac335879da4a5975661c8.

* Revert the MetadataReport

* Polish apache/dubbo#6305 : [Refactor] ServiceConfig and ReferenceConfig publish the ServiceDefinition based on the Dubbo Event

* Polish apache/dubbo#6310 : Refactoring MetadataReport's methods

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6315 : [Refactor] Refactoring the implementation of MetadataReport based on The Config-Center infrastructure

Deprecated List :

- NacosMetadataReport
- ZookeeperMetadataReport

* Polish apache/dubbo#6315 : Refactoring by TreePathDynamicConfiguration

* Polish apache/dubbo#6315 : Refactoring ConsulDynamicConfiguration by TreePathDynamicConfiguration

* Polish apache/dubbo#6315 : Reset the config base path to be "metadata" for ConfigCenterBasedMetadataReportFactory

* Polish apache/dubbo#6315 : Bugfix

* Polish apache/dubbo#6315 : Bugfix

* 2.7.8 service introspection (#6317)

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6171 : [Feature] Introducing the composite implementation of MetadataService

* Revert "fix wrong check of InvokerListener when export a service (fix issue_6269) (#6271)"

This reverts commit 91989cae508f8482f31ac335879da4a5975661c8.

* Revert "fix wrong check of InvokerListener when export a service (fix issue_6269) (#6271)"

This reverts commit 91989cae508f8482f31ac335879da4a5975661c8.

* Revert the MetadataReport

* Polish apache/dubbo#6305 : [Refactor] ServiceConfig and ReferenceConfig publish the ServiceDefinition based on the Dubbo Event

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6310 : Refactoring MetadataReport's methods

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6315 : [Refactor] Refactoring the implementation of MetadataReport based on The Config-Center infrastructure

Deprecated List :

- NacosMetadataReport
- ZookeeperMetadataReport

* Polish apache/dubbo#6315 : Refactoring by TreePathDynamicConfiguration

* Polish apache/dubbo#6315 : Refactoring ConsulDynamicConfiguration by TreePathDynamicConfiguration

* Polish apache/dubbo#6315 : Reset the config base path to be "metadata" for ConfigCenterBasedMetadataReportFactory

* Polish apache/dubbo#6315 : Bugfix

* Polish apache/dubbo#6315 : Bugfix

* Polish apache/dubbo#6315 : Correct words

* Polish apache/dubbo#6333 : [Refactor] Using mandatory implementation of Service Instance registration instead of the event

* Polish apache/dubbo#6336 : [Refactor] org.apache.dubbo.metadata.ServiceNameMapping

* 2.7.8 service introspection (#6337)

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6171 : [Feature] Introducing the composite implementation of MetadataService

* Revert "fix wrong check of InvokerListener when export a service (fix issue_6269) (#6271)"

This reverts commit 91989cae508f8482f31ac335879da4a5975661c8.

* Revert "fix wrong check of InvokerListener when export a service (fix issue_6269) (#6271)"

This reverts commit 91989cae508f8482f31ac335879da4a5975661c8.

* Revert the MetadataReport

* Polish apache/dubbo#6305 : [Refactor] ServiceConfig and ReferenceConfig publish the ServiceDefinition based on the Dubbo Event

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6310 : Refactoring MetadataReport's methods

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6315 : [Refactor] Refactoring the implementation of MetadataReport based on The Config-Center infrastructure

Deprecated List :

- NacosMetadataReport
- ZookeeperMetadataReport

* Polish apache/dubbo#6315 : Refactoring by TreePathDynamicConfiguration

* Polish apache/dubbo#6315 : Refactoring ConsulDynamicConfiguration by TreePathDynamicConfiguration

* Polish apache/dubbo#6315 : Reset the config base path to be "metadata" for ConfigCenterBasedMetadataReportFactory

* Polish apache/dubbo#6315 : Bugfix

* Polish apache/dubbo#6315 : Bugfix

* Polish apache/dubbo#6315 : Correct words

* Polish apache/dubbo#6333 : [Refactor] Using mandatory implementation of Service Instance registration instead of the event

* Polish apache/dubbo#6336 : [Refactor] org.apache.dubbo.metadata.ServiceNameMapping

* Polish apache/dubbo#6170 : [Feature] Introducing the externalized configuration for ServiceNameMapping

* Polish apache/dubbo#6342 : [Enhancement] Introducing the composite ServiceNameMapping

* Refactor

* Polish apache/dubbo#6172 : [Feature] Adding the "services" attribute methods into @DubboReference

* Polish apache/dubbo#6173 : [Feature] Adding the "services" attribute into <dubbo:reference> element

* Polish apache/dubbo#6346 : [Issue] Merging all subscribied URLs from the multiple services

* Polish apache/dubbo#6346 : [Issue] Merging all subscribied URLs from the multiple services

* Polish apache/dubbo#6252

* Polish apache/dubbo#6356 & apache/dubbo#6171

* Polish apache/dubbo#6356 & apache/dubbo#6171

* Polish apache/dubbo#6224 : Filter chain was not invoked with local calls since v2.7.6

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* 2.7.8 service introspection (#6366)

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6171 : [Feature] Introducing the composite implementation of MetadataService

* Revert "fix wrong check of InvokerListener when export a service (fix issue_6269) (#6271)"

This reverts commit 91989cae508f8482f31ac335879da4a5975661c8.

* Revert "fix wrong check of InvokerListener when export a service (fix issue_6269) (#6271)"

This reverts commit 91989cae508f8482f31ac335879da4a5975661c8.

* Revert the MetadataReport

* Polish apache/dubbo#6305 : [Refactor] ServiceConfig and ReferenceConfig publish the ServiceDefinition based on the Dubbo Event

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6310 : Refactoring MetadataReport's methods

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6315 : [Refactor] Refactoring the implementation of MetadataReport based on The Config-Center infrastructure

Deprecated List :

- NacosMetadataReport
- ZookeeperMetadataReport

* Polish apache/dubbo#6315 : Refactoring by TreePathDynamicConfiguration

* Polish apache/dubbo#6315 : Refactoring ConsulDynamicConfiguration by TreePathDynamicConfiguration

* Polish apache/dubbo#6315 : Reset the config base path to be "metadata" for ConfigCenterBasedMetadataReportFactory

* Polish apache/dubbo#6315 : Bugfix

* Polish apache/dubbo#6315 : Bugfix

* Polish apache/dubbo#6315 : Correct words

* Polish apache/dubbo#6333 : [Refactor] Using mandatory implementation of Service Instance registration instead of the event

* Polish apache/dubbo#6336 : [Refactor] org.apache.dubbo.metadata.ServiceNameMapping

* Polish apache/dubbo#6170 : [Feature] Introducing the externalized configuration for ServiceNameMapping

* Polish apache/dubbo#6342 : [Enhancement] Introducing the composite ServiceNameMapping

* Refactor

* Polish apache/dubbo#6172 : [Feature] Adding the "services" attribute methods into @DubboReference

* Polish apache/dubbo#6173 : [Feature] Adding the "services" attribute into <dubbo:reference> element

* Polish apache/dubbo#6346 : [Issue] Merging all subscribied URLs from the multiple services

* Polish apache/dubbo#6346 : [Issue] Merging all subscribied URLs from the multiple services

* Polish apache/dubbo#6252

* Polish apache/dubbo#6356 & apache/dubbo#6171

* Polish apache/dubbo#6356 & apache/dubbo#6171

* Polish apache/dubbo#6224 : Filter chain was not invoked with local calls since v2.7.6

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : Adding META-INF/dubbo/internal/org.apache.dubbo.metadata.MetadataServiceExporter

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* 2.7.8 Test Cases (#6384)

* Polish apache/dubbo#6152

* Polish apache/dubbo#6174 : [Enhancement] Registering the common beans for Spring XML meta-configuration

* Polish apache/dubbo#6174 : Fixing the test-cases

* Polish apache/dubbo#6174 : Fixing the test-cases

* Add the test-case for multiple services with MethodConfigs

* Fixed the test-cases

* 2.7.8 Dev (#6386)

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6296 : Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection

* Polish apache/dubbo#6171 : [Feature] Introducing the composite implementation of MetadataService

* Revert "fix wrong check of InvokerListener when export a service (fix issue_6269) (#6271)"

This reverts commit 91989cae508f8482f31ac335879da4a5975661c8.

* Revert "fix wrong check of InvokerListener when export a service (fix issue_6269) (#6271)"

This reverts commit 91989cae508f8482f31ac335879da4a5975661c8.

* Revert the MetadataReport

* Polish apache/dubbo#6305 : [Refactor] ServiceConfig and ReferenceConfig publish the ServiceDefinition based on the Dubbo Event

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6310 : Refactoring MetadataReport's methods

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6198 : [Issue] Fixing NacosDynamicConfiguration#publishConfig bug

* Polish apache/dubbo#6315 : [Refactor] Refactoring the implementation of MetadataReport based on The Config-Center infrastructure

Deprecated List :

- NacosMetadataReport
- ZookeeperMetadataReport

* Polish apache/dubbo#6315 : Refactoring by TreePathDynamicConfiguration

* Polish apache/dubbo#6315 : Refactoring ConsulDynamicConfiguration by TreePathDynamicConfiguration

* Polish apache/dubbo#6315 : Reset the config base path to be "metadata" for ConfigCenterBasedMetadataReportFactory

* Polish apache/dubbo#6315 : Bugfix

* Polish apache/dubbo#6315 : Bugfix

* Polish apache/dubbo#6315 : Correct words

* sync wait netty server to finish shutdown (#6281)

* Polish apache/dubbo#6333 : [Refactor] Using mandatory implementation of Service Instance registration instead of the event

* maybe we can remove null judge in this case (#6321)

* update

* update

* Polish apache/dubbo#6336 : [Refactor] org.apache.dubbo.metadata.ServiceNameMapping

* Polish apache/dubbo#6170 : [Feature] Introducing the externalized configuration for ServiceNameMapping

* Polish apache/dubbo#6342 : [Enhancement] Introducing the composite ServiceNameMapping

* Refactor

* fix method name typo in JValidator.java (#6344)

* [Dubbo-6340]fix application cannot exit when use consul registry (#6341)

* fix application cannot exit when use consul registry

* make consul registry suppor ACL (#6313)

* make consul registry suppor ACL

* Polish apache/dubbo#6172 : [Feature] Adding the "services" attribute methods into @DubboReference

* Polish apache/dubbo#6173 : [Feature] Adding the "services" attribute into <dubbo:reference> element

* Polish apache/dubbo#6346 : [Issue] Merging all subscribied URLs from the multiple services

* Polish apache/dubbo#6346 : [Issue] Merging all subscribied URLs from the multiple services

* fix publish null value when use consul config center (#6351)

* fix publish null value when use consul config center

* Polish apache/dubbo#6252

* Polish apache/dubbo#6356 & apache/dubbo#6171

* Polish apache/dubbo#6356 & apache/dubbo#6171

* Polish apache/dubbo#6224 : Filter chain was not invoked with local calls since v2.7.6

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : Adding META-INF/dubbo/internal/org.apache.dubbo.metadata.MetadataServiceExporter

* fix the priority of ListenableRouter were not effective (#6148)

fixes #4822

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* when the url is generic, the log level should be info (#6363)

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* fix NPE when check=false is set and provider is empty. (#6376)

fixes #6228

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* fix #6306.  support TypeBuilder sort (#6365)

* fix #6306. support TypeBuilder sort

* fix #6306. support TypeBuilder sort

* fix #6306. support TypeBuilder sort

* remove unused import

* add license for test file

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* enhance ClusterInvoker & ExtensionLoader (#6343)

- Introduce ClusterInvoker to better support multiple registries subscription
- Wrapper sort and enable/disable
- some small fixes

* Polish apache/dubbo#6322 : [Enhancement] Fix the issues of test-cases after refactoring

* Fixed the test-cases

Co-authored-by: tswstarplanet <tswstarplanet@apache.org>
Co-authored-by: Nine <nine.yang.coding@gmail.com>
Co-authored-by: 陈哈哈 <chenyongjia365@outlook.com>
Co-authored-by: luoning810 <18311333766@163.com>
Co-authored-by: cvictory <shenglicao2@gmail.com>
Co-authored-by: ken.lj <ken.lj.hz@gmail.com>

* Fixes the issue of merging code in Github

* Polish apache/dubbo#6389 : [Issue] Resolving the issues with ConsulServiceDiscovery

* Fixes the test-cases

* Fixes the test-cases

* Fixes the test-cases

* Upgrade the release version to be 2.7.8

* Hessian2 whitelist (#6378)

fixes #6364

* Polish apache/dubbo#6261 : Migration the latest Nacos registry implementation to upstream

* Hessian whitelist2 (#6423)

* Polish apache/dubbo#6425 : [Infrastructure] Upgrading the spring-context-support to be 1.0.7

* double check lock (#6422)

* Correction: comments about multipleConfig (#6414)

* Polish apache/dubbo#6418 : Rest Protocol can't work when use Tomcat 9.0.x as web container for Dubbo 2.7.7

* fix bug: Rest Protocol can't work when use Tomcat as WebContainer (#6402)

Co-authored-by: 01376420 <1qaz!QAZ>

Co-authored-by: tswstarplanet <tswstarplanet@apache.org>
Co-authored-by: Nine <nine.yang.coding@gmail.com>
Co-authored-by: 陈哈哈 <chenyongjia365@outlook.com>
Co-authored-by: luoning810 <18311333766@163.com>
Co-authored-by: cvictory <shenglicao2@gmail.com>
Co-authored-by: ken.lj <ken.lj.hz@gmail.com>
Co-authored-by: diguage <leejun119@gmail.com>
Co-authored-by: 月泉 <yuequan1997@gmail.com>
Co-authored-by: 星尘 <yiocio@126.com>

Co-authored-by: tswstarplanet <tswstarplanet@apache.org>
Co-authored-by: Nine <nine.yang.coding@gmail.com>
Co-authored-by: 陈哈哈 <chenyongjia365@outlook.com>
Co-authored-by: luoning810 <18311333766@163.com>
Co-authored-by: cvictory <shenglicao2@gmail.com>
Co-authored-by: ken.lj <ken.lj.hz@gmail.com>
Co-authored-by: diguage <leejun119@gmail.com>
Co-authored-by: 月泉 <yuequan1997@gmail.com>
Co-authored-by: 星尘 <yiocio@126.com>

* add @SPI annotation (#6436)

* check invoker available status after proxy created. (#6435)

* Polish apache/dubbo#6442 : The duplicated path in Tree-Path config-center

Co-authored-by: tswstarplanet <tswstarplanet@apache.org>
Co-authored-by: Nine <nine.yang.coding@gmail.com>
Co-authored-by: 陈哈哈 <chenyongjia365@outlook.com>
Co-authored-by: luoning810 <18311333766@163.com>
Co-authored-by: cvictory <shenglicao2@gmail.com>
Co-authored-by: ken.lj <ken.lj.hz@gmail.com>
Co-authored-by: diguage <leejun119@gmail.com>
Co-authored-by: 月泉 <yuequan1997@gmail.com>
Co-authored-by: 星尘 <yiocio@126.com>
Co-authored-by: Lei Jiang <53557551+laddcn@users.noreply.github.com>
  • Loading branch information
11 people authored Jul 13, 2020
1 parent d55a8d5 commit 836a0fe
Show file tree
Hide file tree
Showing 7 changed files with 73 additions and 95 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@

import org.apache.dubbo.common.URL;
import org.apache.dubbo.common.config.configcenter.file.FileSystemDynamicConfiguration;
import org.apache.dubbo.common.utils.PathUtils;
import org.apache.dubbo.common.utils.StringUtils;

import java.util.Collection;
Expand All @@ -31,6 +30,7 @@
import static org.apache.dubbo.common.constants.CommonConstants.PATH_SEPARATOR;
import static org.apache.dubbo.common.utils.CollectionUtils.isEmpty;
import static org.apache.dubbo.common.utils.PathUtils.buildPath;
import static org.apache.dubbo.common.utils.PathUtils.normalize;

/**
* An abstract implementation of {@link DynamicConfiguration} is like "tree-structure" path :
Expand All @@ -46,6 +46,11 @@
*/
public abstract class TreePathDynamicConfiguration extends AbstractDynamicConfiguration {

/**
* The parameter name of URL for the config root path
*/
public static final String CONFIG_ROOT_PATH_PARAM_NAME = PARAM_NAME_PREFIX + "root-path";

/**
* The parameter name of URL for the config base path
*/
Expand Down Expand Up @@ -137,14 +142,24 @@ protected String buildPathKey(String group, String key) {
* @return non-null
*/
protected String getRootPath(URL url) {
String rootPath = PATH_SEPARATOR + getConfigNamespace(url) + getConfigBasePath(url);
rootPath = PathUtils.normalize(rootPath);
if (rootPath.endsWith(PATH_SEPARATOR)) {
rootPath = rootPath.substring(0, rootPath.length() - 1);

String rootPath = url.getParameter(CONFIG_ROOT_PATH_PARAM_NAME, buildRootPath(url));

rootPath = normalize(rootPath);

int rootPathLength = rootPath.length();

if (rootPathLength > 1 && rootPath.endsWith(PATH_SEPARATOR)) {
rootPath = rootPath.substring(0, rootPathLength - 1);
}

return rootPath;
}

private String buildRootPath(URL url) {
return PATH_SEPARATOR + getConfigNamespace(url) + getConfigBasePath(url);
}

/**
* Get the namespace from the specified {@link URL connection URl}
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
import org.apache.dubbo.config.utils.ConfigValidationUtils;
import org.apache.dubbo.event.Event;
import org.apache.dubbo.event.EventDispatcher;
import org.apache.dubbo.metadata.WritableMetadataService;
import org.apache.dubbo.rpc.Invoker;
import org.apache.dubbo.rpc.Protocol;
import org.apache.dubbo.rpc.ProxyFactory;
Expand Down Expand Up @@ -65,18 +66,22 @@
import static org.apache.dubbo.common.constants.CommonConstants.COMMA_SEPARATOR;
import static org.apache.dubbo.common.constants.CommonConstants.COMMA_SEPARATOR_CHAR;
import static org.apache.dubbo.common.constants.CommonConstants.CONSUMER_SIDE;
import static org.apache.dubbo.common.constants.CommonConstants.DEFAULT_METADATA_STORAGE_TYPE;
import static org.apache.dubbo.common.constants.CommonConstants.INTERFACE_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.LOCALHOST_VALUE;
import static org.apache.dubbo.common.constants.CommonConstants.METADATA_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.METHODS_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.MONITOR_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.PROXY_CLASS_REF;
import static org.apache.dubbo.common.constants.CommonConstants.REMOTE_METADATA_STORAGE_TYPE;
import static org.apache.dubbo.common.constants.CommonConstants.REVISION_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.SEMICOLON_SPLIT_PATTERN;
import static org.apache.dubbo.common.constants.CommonConstants.SIDE_KEY;
import static org.apache.dubbo.common.constants.RegistryConstants.SUBSCRIBED_SERVICE_NAMES_KEY;
import static org.apache.dubbo.common.utils.NetUtils.isInvalidLocalHost;
import static org.apache.dubbo.common.utils.StringUtils.splitToSet;
import static org.apache.dubbo.config.Constants.DUBBO_IP_TO_REGISTRY;
import static org.apache.dubbo.registry.Constants.CONSUMER_PROTOCOL;
import static org.apache.dubbo.registry.Constants.REGISTER_IP_KEY;
import static org.apache.dubbo.rpc.Constants.LOCAL_PROTOCOL;
import static org.apache.dubbo.rpc.cluster.Constants.REFER_KEY;
Expand Down Expand Up @@ -263,6 +268,10 @@ public synchronized void init() {
// appendParameters(map, consumer, Constants.DEFAULT_KEY);
AbstractConfig.appendParameters(map, consumer);
AbstractConfig.appendParameters(map, this);
MetadataReportConfig metadataReportConfig = getMetadataReportConfig();
if (metadataReportConfig != null && metadataReportConfig.isValid()) {
map.putIfAbsent(METADATA_KEY, REMOTE_METADATA_STORAGE_TYPE);
}
Map<String, AsyncMethodInfo> attributes = null;
if (CollectionUtils.isNotEmpty(getMethods())) {
attributes = new HashMap<>();
Expand Down Expand Up @@ -382,6 +391,16 @@ private T createProxy(Map<String, String> map) {
if (logger.isInfoEnabled()) {
logger.info("Refer dubbo service " + interfaceClass.getName() + " from url " + invoker.getUrl());
}
/**
* @since 2.7.0
* ServiceData Store
*/
String metadata = map.get(METADATA_KEY);
WritableMetadataService metadataService = WritableMetadataService.getExtension(metadata == null ? DEFAULT_METADATA_STORAGE_TYPE : metadata);
if (metadataService != null) {
URL consumerURL = new URL(CONSUMER_PROTOCOL, map.remove(REGISTER_IP_KEY), 0, map.get(INTERFACE_KEY), map);
metadataService.publishServiceDefinition(consumerURL);
}
// create service proxy
return (T) PROXY_FACTORY.getProxy(invoker, ProtocolUtils.isGeneric(generic));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
import org.apache.dubbo.config.utils.ConfigValidationUtils;
import org.apache.dubbo.event.Event;
import org.apache.dubbo.event.EventDispatcher;
import org.apache.dubbo.metadata.WritableMetadataService;
import org.apache.dubbo.rpc.Exporter;
import org.apache.dubbo.rpc.Invoker;
import org.apache.dubbo.rpc.Protocol;
Expand Down Expand Up @@ -67,13 +68,16 @@

import static org.apache.dubbo.common.constants.CommonConstants.ANYHOST_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.ANY_VALUE;
import static org.apache.dubbo.common.constants.CommonConstants.DEFAULT_METADATA_STORAGE_TYPE;
import static org.apache.dubbo.common.constants.CommonConstants.DUBBO;
import static org.apache.dubbo.common.constants.CommonConstants.DUBBO_IP_TO_BIND;
import static org.apache.dubbo.common.constants.CommonConstants.LOCALHOST_VALUE;
import static org.apache.dubbo.common.constants.CommonConstants.METADATA_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.METHODS_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.MONITOR_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.PROVIDER_SIDE;
import static org.apache.dubbo.common.constants.CommonConstants.REGISTER_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.REMOTE_METADATA_STORAGE_TYPE;
import static org.apache.dubbo.common.constants.CommonConstants.REVISION_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.SIDE_KEY;
import static org.apache.dubbo.common.constants.RegistryConstants.DYNAMIC_KEY;
Expand Down Expand Up @@ -340,6 +344,10 @@ private void doExportUrlsFor1Protocol(ProtocolConfig protocolConfig, List<URL> r
AbstractConfig.appendParameters(map, provider);
AbstractConfig.appendParameters(map, protocolConfig);
AbstractConfig.appendParameters(map, this);
MetadataReportConfig metadataReportConfig = getMetadataReportConfig();
if (metadataReportConfig != null && metadataReportConfig.isValid()) {
map.putIfAbsent(METADATA_KEY, REMOTE_METADATA_STORAGE_TYPE);
}
if (CollectionUtils.isNotEmpty(getMethods())) {
for (MethodConfig method : getMethods()) {
AbstractConfig.appendParameters(map, method, method.getName());
Expand Down Expand Up @@ -494,6 +502,14 @@ private void doExportUrlsFor1Protocol(ProtocolConfig protocolConfig, List<URL> r
Exporter<?> exporter = PROTOCOL.export(wrapperInvoker);
exporters.add(exporter);
}
/**
* @since 2.7.0
* ServiceData Store
*/
WritableMetadataService metadataService = WritableMetadataService.getExtension(url.getParameter(METADATA_KEY, DEFAULT_METADATA_STORAGE_TYPE));
if (metadataService != null) {
metadataService.publishServiceDefinition(url);
}
}
}
this.urls.add(url);
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,4 +1,2 @@
service-mapping=org.apache.dubbo.config.event.listener.ServiceNameMappingListener
config-logging=org.apache.dubbo.config.event.listener.LoggingEventListener
# since 2.7.8
publishing-service-definition=org.apache.dubbo.config.event.listener.PublishingServiceDefinitionListener
config-logging=org.apache.dubbo.config.event.listener.LoggingEventListener
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ private String getFilePathKey(String pathTag, String... params) {
+ joinParams(PATH_SEPARATOR, params);
}

private String toServicePath() {
public String toServicePath() {
if (ANY_VALUE.equals(serviceInterface)) {
return "";
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,10 @@
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

import static org.apache.dubbo.common.config.configcenter.TreePathDynamicConfiguration.CONFIG_BASE_PATH_PARAM_NAME;
import static org.apache.dubbo.metadata.MetadataConstants.DEFAULT_PATH_TAG;
import static org.apache.dubbo.common.config.configcenter.TreePathDynamicConfiguration.CONFIG_ROOT_PATH_PARAM_NAME;
import static org.apache.dubbo.common.utils.StringUtils.SLASH;
import static org.apache.dubbo.common.utils.StringUtils.isBlank;
import static org.apache.dubbo.metadata.report.identifier.KeyTypeEnum.PATH;
import static org.apache.dubbo.rpc.cluster.Constants.EXPORT_KEY;
import static org.apache.dubbo.rpc.cluster.Constants.REFER_KEY;

Expand Down Expand Up @@ -60,21 +62,23 @@ public ConfigCenterBasedMetadataReportFactory(KeyTypeEnum keyType) {

@Override
public ConfigCenterBasedMetadataReport getMetadataReport(URL url) {

url = url.setPath(URL_PATH).removeParameters(EXPORT_KEY, REFER_KEY);

final URL actualURL;
if (url.getParameter(CONFIG_BASE_PATH_PARAM_NAME) == null) {
actualURL = url.addParameter(CONFIG_BASE_PATH_PARAM_NAME, DEFAULT_PATH_TAG);
} else {
actualURL = url;
}

url = url.setPath(URL_PATH);
final URL actualURL = resolveURLParameters(url);
String key = actualURL.toServiceString();
// Lock the metadata access process to ensure a single instance of the metadata instance
return metadataReportCache.computeIfAbsent(key, k -> new ConfigCenterBasedMetadataReport(actualURL, keyType));
}

private URL resolveURLParameters(URL url) {
URL resolvedURL = url.removeParameters(EXPORT_KEY, REFER_KEY);
if (PATH.equals(getKeyType())) { // Only handles for "PATH" type
if (isBlank(resolvedURL.getParameter(CONFIG_ROOT_PATH_PARAM_NAME))) {
resolvedURL = resolvedURL.addParameter(CONFIG_ROOT_PATH_PARAM_NAME, SLASH);
}
}
return resolvedURL;
}

/**
* Get {@link KeyTypeEnum the key type}
*
Expand Down

0 comments on commit 836a0fe

Please sign in to comment.