Skip to content

Commit

Permalink
2.7.8 release (#6467)
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

* 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>

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

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

* 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>

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

* [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>

* 2.7.8 release (#6437)

* 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 fo…
  • Loading branch information
11 people committed Jul 16, 2020
1 parent 342544f commit 8091c02
Show file tree
Hide file tree
Showing 9 changed files with 106 additions and 34 deletions.
Expand Up @@ -47,6 +47,8 @@
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.ConcurrentSkipListMap;
import java.util.function.Consumer;
import java.util.function.Supplier;

/**
* PojoUtils. Travel object deeply, and convert complex type to simple type.
Expand All @@ -65,7 +67,7 @@ public class PojoUtils {
private static final Logger logger = LoggerFactory.getLogger(PojoUtils.class);
private static final ConcurrentMap<String, Method> NAME_METHODS_CACHE = new ConcurrentHashMap<String, Method>();
private static final ConcurrentMap<Class<?>, ConcurrentMap<String, Field>> CLASS_FIELD_CACHE = new ConcurrentHashMap<Class<?>, ConcurrentMap<String, Field>>();
private static final boolean GENERIC_WITH_CLZ = Boolean.parseBoolean(ConfigUtils.getProperty(CommonConstants.GENERIC_WITH_CLZ_KEY,"true"));
private static final boolean GENERIC_WITH_CLZ = Boolean.parseBoolean(ConfigUtils.getProperty(CommonConstants.GENERIC_WITH_CLZ_KEY, "true"));

public static Object[] generalize(Object[] objs) {
Object[] dests = new Object[objs.length];
Expand Down Expand Up @@ -527,7 +529,7 @@ private static Type getKeyTypeForMap(Class<?> clazz) {
if (!ArrayUtils.isEmpty(interfaces)) {
for (Type type : interfaces) {
if (type instanceof ParameterizedType) {
ParameterizedType t = (ParameterizedType)type;
ParameterizedType t = (ParameterizedType) type;
if ("java.util.Map".equals(t.getRawType().getTypeName())) {
return t.getActualTypeArguments()[0];
}
Expand Down Expand Up @@ -597,6 +599,7 @@ private static Object newInstance(Class<?> cls) {

/**
* return init value
*
* @param parameterType
* @return
*/
Expand Down Expand Up @@ -660,4 +663,19 @@ public static boolean isPojo(Class<?> cls) {
&& !Map.class.isAssignableFrom(cls);
}

/**
* Update the property if absent
*
* @param getterMethod the getter method
* @param setterMethod the setter method
* @param newValue the new value
* @param <T> the value type
* @since 2.7.8
*/
public static <T> void updatePropertyIfAbsent(Supplier<T> getterMethod, Consumer<T> setterMethod, T newValue) {
if (newValue != null && getterMethod.get() == null) {
setterMethod.accept(newValue);
}
}

}
Expand Up @@ -26,6 +26,7 @@
import static org.apache.dubbo.common.constants.CommonConstants.EXTRA_KEYS_KEY;
import static org.apache.dubbo.common.constants.CommonConstants.SHUTDOWN_WAIT_KEY;
import static org.apache.dubbo.common.constants.RemotingConstants.BACKUP_KEY;
import static org.apache.dubbo.common.utils.PojoUtils.updatePropertyIfAbsent;
import static org.apache.dubbo.config.Constants.REGISTRIES_SUFFIX;

/**
Expand Down Expand Up @@ -199,7 +200,7 @@ public String getProtocol() {

public void setProtocol(String protocol) {
this.protocol = protocol;
this.updateIdIfAbsent(protocol);
// this.updateIdIfAbsent(protocol);
}

@Parameter(excluded = true)
Expand All @@ -212,13 +213,22 @@ public void setAddress(String address) {
if (address != null) {
try {
URL url = URL.valueOf(address);
setUsername(url.getUsername());
setPassword(url.getPassword());

// Refactor since 2.7.8
updatePropertyIfAbsent(this::getUsername, this::setUsername, url.getUsername());
updatePropertyIfAbsent(this::getPassword, this::setPassword, url.getPassword());
updatePropertyIfAbsent(this::getProtocol, this::setProtocol, url.getProtocol());
updatePropertyIfAbsent(this::getPort, this::setPort, url.getPort());

// setUsername(url.getUsername());
// setPassword(url.getPassword());
// updateIdIfAbsent(url.getProtocol());
updateProtocolIfAbsent(url.getProtocol());
updatePortIfAbsent(url.getPort());
// updateProtocolIfAbsent(url.getProtocol());
// updatePortIfAbsent(url.getPort());
Map<String, String> params = url.getParameters();
params.remove(BACKUP_KEY);
if (CollectionUtils.isNotEmptyMap(params)) {
params.remove(BACKUP_KEY);
}
updateParameters(params);
} catch (Exception ignored) {
}
Expand Down Expand Up @@ -515,16 +525,4 @@ public boolean isValid() {
// empty protocol will default to 'dubbo'
return !StringUtils.isEmpty(address);
}

protected void updatePortIfAbsent(Integer value) {
if (value != null && value > 0 && port == null) {
this.port = value;
}
}

protected void updateProtocolIfAbsent(String value) {
if (StringUtils.isNotEmpty(value) && StringUtils.isEmpty(protocol)) {
this.protocol = value;
}
}
}
Expand Up @@ -19,6 +19,7 @@
import org.apache.dubbo.common.URL;
import org.apache.dubbo.common.config.Environment;
import org.apache.dubbo.common.config.configcenter.DynamicConfiguration;
import org.apache.dubbo.common.config.configcenter.DynamicConfigurationFactory;
import org.apache.dubbo.common.config.configcenter.wrapper.CompositeDynamicConfiguration;
import org.apache.dubbo.common.extension.ExtensionLoader;
import org.apache.dubbo.common.lang.ShutdownHookCallback;
Expand Down Expand Up @@ -60,6 +61,7 @@
import org.apache.dubbo.metadata.MetadataService;
import org.apache.dubbo.metadata.MetadataServiceExporter;
import org.apache.dubbo.metadata.WritableMetadataService;
import org.apache.dubbo.metadata.report.MetadataReportFactory;
import org.apache.dubbo.metadata.report.MetadataReportInstance;
import org.apache.dubbo.registry.client.DefaultServiceInstance;
import org.apache.dubbo.registry.client.ServiceDiscovery;
Expand All @@ -85,8 +87,10 @@
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
import java.util.function.Consumer;
import java.util.function.Supplier;
import java.util.stream.Collectors;

import static java.lang.String.format;
import static java.util.Arrays.asList;
import static java.util.concurrent.Executors.newSingleThreadExecutor;
import static org.apache.dubbo.common.config.ConfigurationUtils.parseProperties;
Expand Down Expand Up @@ -669,8 +673,8 @@ private void useRegistryAsConfigCenterIfNecessary() {
}

private boolean isUsedRegistryAsConfigCenter(RegistryConfig registryConfig) {
// TODO: confirm ? registryConfig.getUseAsConfigCenter() == null || registryConfig.getUseAsConfigCenter()
return Boolean.TRUE.equals(registryConfig.getUseAsConfigCenter());
return isUsedRegistryAsCenter(registryConfig, registryConfig::getUseAsConfigCenter, "config",
DynamicConfigurationFactory.class);
}

private ConfigCenterConfig registryAsConfigCenter(RegistryConfig registryConfig) {
Expand Down Expand Up @@ -718,8 +722,58 @@ private void useRegistryAsMetadataCenterIfNecessary() {
}

private boolean isUsedRegistryAsMetadataCenter(RegistryConfig registryConfig) {
// TODO: confirm ? registryConfig.getUseAsMetadataCenter() == null || registryConfig.getUseAsMetadataCenter()
return Boolean.TRUE.equals(registryConfig.getUseAsMetadataCenter());
return isUsedRegistryAsCenter(registryConfig, registryConfig::getUseAsMetadataCenter, "metadata",
MetadataReportFactory.class);
}

/**
* Is used the specified registry as a center infrastructure
*
* @param registryConfig the {@link RegistryConfig}
* @param usedRegistryAsCenter the configured value on
* @param centerType the type name of center
* @param extensionClass an extension class of a center infrastructure
* @return
* @since 2.7.8
*/
private boolean isUsedRegistryAsCenter(RegistryConfig registryConfig, Supplier<Boolean> usedRegistryAsCenter,
String centerType,
Class<?> extensionClass) {
final boolean supported;

Boolean configuredValue = usedRegistryAsCenter.get();
if (configuredValue != null) { // If configured, take its value.
supported = configuredValue.booleanValue();
} else { // Or check the extension existence
String protocol = registryConfig.getProtocol();
supported = supportsExtension(extensionClass, protocol);
if (logger.isInfoEnabled()) {
logger.info(format("No value is configured in the registry, the %s extension[name : %s] %s as the %s center"
, extensionClass.getSimpleName(), protocol, supported ? "supports" : "does not support", centerType));
}
}

if (logger.isInfoEnabled()) {
logger.info(format("The registry[%s] will be %s as the %s center", registryConfig,
supported ? "used" : "not used", centerType));
}
return supported;
}

/**
* Supports the extension with the specified class and name
*
* @param extensionClass the {@link Class} of extension
* @param name the name of extension
* @return if supports, return <code>true</code>, or <code>false</code>
* @since 2.7.8
*/
private boolean supportsExtension(Class<?> extensionClass, String name) {
if (isNotEmpty(name)) {
ExtensionLoader extensionLoader = getExtensionLoader(extensionClass);
return extensionLoader.hasExtension(name);
}
return false;
}

private MetadataReportConfig registryAsMetadataCenter(RegistryConfig registryConfig) {
Expand Down
Expand Up @@ -344,7 +344,6 @@ public RegistryConfig build() {
RegistryConfig registry = new RegistryConfig();
super.build(registry);

registry.setAddress(address);
registry.setCheck(check);
registry.setClient(client);
registry.setCluster(cluster);
Expand Down Expand Up @@ -372,6 +371,7 @@ public RegistryConfig build() {
registry.setAccepts(accepts);
registry.setPreferred(preferred);
registry.setWeight(weight);
registry.setAddress(address);

return registry;
}
Expand Down
Expand Up @@ -37,10 +37,8 @@ public static void main(String[] args) {
DubboBootstrap.getInstance()
.application(applicationConfig)
// Nacos in service registry type
.registry("nacos", builder -> builder.address("nacos://127.0.0.1:8848")
.parameter(REGISTRY_TYPE_KEY, SERVICE_REGISTRY_TYPE)
.useAsConfigCenter(true)
.useAsMetadataCenter(true))
.registry("nacos", builder -> builder.address("nacos://127.0.0.1:8848?username=nacos&password=nacos")
.parameter(REGISTRY_TYPE_KEY, SERVICE_REGISTRY_TYPE))
// Nacos in traditional registry type
// .registry("nacos-traditional", builder -> builder.address("nacos://127.0.0.1:8848"))
.protocol("dubbo", builder -> builder.port(20885).name("dubbo"))
Expand Down
Expand Up @@ -32,9 +32,7 @@ public static void main(String[] args) {
DubboBootstrap.getInstance()
.application("zookeeper-dubbo-provider", app -> app.metadata(COMPOSITE_METADATA_STORAGE_TYPE))
.registry(builder -> builder.address("zookeeper://127.0.0.1:2181")
.parameter(REGISTRY_TYPE_KEY, SERVICE_REGISTRY_TYPE)
.useAsConfigCenter(true)
.useAsMetadataCenter(true))
.parameter(REGISTRY_TYPE_KEY, SERVICE_REGISTRY_TYPE))
.protocol("dubbo", builder -> builder.port(-1).name("dubbo"))
.protocol("rest", builder -> builder.port(8081).name("rest"))
.service("echo", builder -> builder.interfaceClass(EchoService.class).ref(new EchoServiceImpl()).protocolIds("dubbo"))
Expand Down
Expand Up @@ -12,6 +12,8 @@ dubbo.module.name = dubbo-demo-module

## registry
dubbo.registry.address = zookeeper://192.168.99.100:32770
dubbo.registry.useAsConfigCenter = false
dubbo.registry.useAsMetadataCenter = false

## protocol
dubbo.protocol.name = dubbo
Expand Down
Expand Up @@ -7,5 +7,9 @@ dubbo.consumer.check=false
dubbo.registries.z214.address=zookeeper://192.168.99.214:2181
dubbo.registries.z214.timeout=60000
dubbo.registries.z214.subscribe=false
dubbo.registries.z214.useAsConfigCenter=false
dubbo.registries.z214.useAsMetadataCenter=false
dubbo.registries.z205.address=zookeeper://192.168.99.205:2181
dubbo.registries.z205.timeout=60000
dubbo.registries.z205.timeout=60000
dubbo.registries.z205.useAsConfigCenter=false
dubbo.registries.z205.useAsMetadataCenter=false
2 changes: 1 addition & 1 deletion dubbo-dependencies-bom/pom.xml
Expand Up @@ -130,7 +130,7 @@
<resteasy_version>3.0.19.Final</resteasy_version>
<tomcat_embed_version>8.5.31</tomcat_embed_version>
<jetcd_version>0.4.1</jetcd_version>
<nacos_version>1.1.1</nacos_version>
<nacos_version>1.3.1</nacos_version>
<grpc.version>1.22.1</grpc.version>
<!-- Log libs -->
<slf4j_version>1.7.25</slf4j_version>
Expand Down

0 comments on commit 8091c02

Please sign in to comment.