Skip to content

Commit

Permalink
[Feature] Enhancing the REST metadata of Dubbo Service (apache#6777)
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] Intr…
  • Loading branch information
11 people committed Nov 25, 2020
1 parent 2111385 commit 215287e
Show file tree
Hide file tree
Showing 24 changed files with 707 additions and 85 deletions.
Expand Up @@ -22,6 +22,7 @@
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import java.lang.reflect.AnnotatedElement;
import java.lang.reflect.Method;
import java.util.Collection;
import java.util.Collections;
import java.util.LinkedHashSet;
Expand All @@ -40,6 +41,7 @@
import static org.apache.dubbo.common.utils.ClassUtils.getAllInheritedTypes;
import static org.apache.dubbo.common.utils.ClassUtils.resolveClass;
import static org.apache.dubbo.common.utils.CollectionUtils.first;
import static org.apache.dubbo.common.utils.MethodUtils.findMethod;
import static org.apache.dubbo.common.utils.MethodUtils.invokeMethod;

/**
Expand Down Expand Up @@ -449,4 +451,32 @@ static boolean isAnyAnnotationPresent(Class<?> type,
Class<? extends Annotation>... annotationTypes) {
return isAnnotationPresent(type, false, annotationTypes);
}


/**
* Get the default value of attribute on the specified annotation
*
* @param annotation {@link Annotation} object
* @param attributeName the name of attribute
* @param <T> the type of value
* @return <code>null</code> if not found
* @since 2.7.9
*/
static <T> T getDefaultValue(Annotation annotation, String attributeName) {
return getDefaultValue(annotation.annotationType(), attributeName);
}

/**
* Get the default value of attribute on the specified annotation
*
* @param annotationType the type of {@link Annotation}
* @param attributeName the name of attribute
* @param <T> the type of value
* @return <code>null</code> if not found
* @since 2.7.9
*/
static <T> T getDefaultValue(Class<? extends Annotation> annotationType, String attributeName) {
Method method = findMethod(annotationType, attributeName);
return (T) (method == null ? null : method.getDefaultValue());
}
}
Expand Up @@ -66,4 +66,16 @@ public static int indexOf(String[] array, String valueToFind, int startIndex) {
return -1;
}
}

/**
* Convert from variable arguments to array
*
* @param values variable arguments
* @param <T> The class
* @return array
* @since 2.7.9
*/
public static <T> T[] of(T... values) {
return values;
}
}
Expand Up @@ -43,21 +43,6 @@ public class ClassUtils {
* Suffix for array class names: "[]"
*/
public static final String ARRAY_SUFFIX = "[]";
/**
* Prefix for internal array class names: "[L"
*/
private static final String INTERNAL_ARRAY_PREFIX = "[L";
/**
* Map with primitive type name as key and corresponding primitive type as
* value, for example: "int" -> "int.class".
*/
private static final Map<String, Class<?>> PRIMITIVE_TYPE_NAME_MAP = new HashMap<String, Class<?>>(32);
/**
* Map with primitive wrapper type as key and corresponding primitive type
* as value, for example: Integer.class -> int.class.
*/
private static final Map<Class<?>, Class<?>> PRIMITIVE_WRAPPER_TYPE_MAP = new HashMap<Class<?>, Class<?>>(16);

/**
* Simple Types including:
* <ul>
Expand Down Expand Up @@ -94,7 +79,20 @@ public class ClassUtils {
Date.class,
Object.class
);

/**
* Prefix for internal array class names: "[L"
*/
private static final String INTERNAL_ARRAY_PREFIX = "[L";
/**
* Map with primitive type name as key and corresponding primitive type as
* value, for example: "int" -> "int.class".
*/
private static final Map<String, Class<?>> PRIMITIVE_TYPE_NAME_MAP = new HashMap<String, Class<?>>(32);
/**
* Map with primitive wrapper type as key and corresponding primitive type
* as value, for example: Integer.class -> int.class.
*/
private static final Map<Class<?>, Class<?>> PRIMITIVE_WRAPPER_TYPE_MAP = new HashMap<Class<?>, Class<?>>(16);
private static final char PACKAGE_SEPARATOR_CHAR = '.';

static {
Expand Down
Expand Up @@ -34,6 +34,7 @@
import static org.apache.dubbo.common.utils.MemberUtils.isStatic;
import static org.apache.dubbo.common.utils.ReflectUtils.EMPTY_CLASS_ARRAY;
import static org.apache.dubbo.common.utils.ReflectUtils.resolveTypes;
import static org.apache.dubbo.common.utils.StringUtils.isNotEmpty;

/**
* Miscellaneous method utility methods.
Expand Down Expand Up @@ -118,7 +119,6 @@ public static boolean isDeprecated(Method method) {
}



/**
* Create an instance of {@link Predicate} for {@link Method} to exclude the specified declared class
*
Expand Down Expand Up @@ -252,7 +252,9 @@ static Method findMethod(Class type, String methodName) {
static Method findMethod(Class type, String methodName, Class<?>... parameterTypes) {
Method method = null;
try {
method = type.getDeclaredMethod(methodName, parameterTypes);
if (type != null && isNotEmpty(methodName)) {
method = type.getDeclaredMethod(methodName, parameterTypes);
}
} catch (NoSuchMethodException e) {
}
return method;
Expand Down
Expand Up @@ -904,7 +904,9 @@ private static Class<?>[] desc2classArray(ClassLoader cl, String desc) throws Cl
* @throws NoSuchMethodException
* @throws ClassNotFoundException
* @throws IllegalStateException when multiple methods are found (overridden method when parameter info is not provided)
* @deprecated Recommend {@link MethodUtils#findMethod(Class, String, Class[])}
*/
@Deprecated
public static Method findMethodByMethodSignature(Class<?> clazz, String methodName, String[] parameterTypes)
throws NoSuchMethodException, ClassNotFoundException {
String signature = clazz.getName() + "." + methodName;
Expand Down Expand Up @@ -943,6 +945,16 @@ public static Method findMethodByMethodSignature(Class<?> clazz, String methodNa
return method;
}

/**
* @param clazz Target class to find method
* @param methodName Method signature, e.g.: method1(int, String). It is allowed to provide method name only, e.g.: method2
* @return target method
* @throws NoSuchMethodException
* @throws ClassNotFoundException
* @throws IllegalStateException when multiple methods are found (overridden method when parameter info is not provided)
* @deprecated Recommend {@link MethodUtils#findMethod(Class, String, Class[])}
*/
@Deprecated
public static Method findMethodByMethodName(Class<?> clazz, String methodName)
throws NoSuchMethodException, ClassNotFoundException {
return findMethodByMethodSignature(clazz, methodName, null);
Expand Down
Expand Up @@ -16,11 +16,15 @@
*/
package org.apache.dubbo.common.utils;

import org.apache.dubbo.config.annotation.DubboService;
import org.apache.dubbo.config.annotation.Service;

import java.lang.annotation.Annotation;
import java.util.List;

import static java.lang.String.format;
import static java.util.Arrays.asList;
import static java.util.Collections.unmodifiableList;
import static org.apache.dubbo.common.utils.AnnotationUtils.getAttribute;
import static org.apache.dubbo.common.utils.ArrayUtils.isNotEmpty;
import static org.apache.dubbo.common.utils.ClassUtils.isGenericClass;
Expand All @@ -36,6 +40,13 @@
*/
public class ServiceAnnotationResolver {

/**
* The annotation {@link Class classes} of Dubbo Service (read-only)
*
* @since 2.7.9
*/
public static List<Class<? extends Annotation>> SERVICE_ANNOTATION_CLASSES = unmodifiableList(asList(DubboService.class, Service.class, com.alibaba.dubbo.config.annotation.Service.class));

private final Annotation serviceAnnotation;

private final Class<?> serviceType;
Expand All @@ -47,16 +58,18 @@ public ServiceAnnotationResolver(Class<?> serviceType) throws IllegalArgumentExc

private Annotation getServiceAnnotation(Class<?> serviceType) {

Annotation serviceAnnotation = serviceType.getAnnotation(Service.class);
Annotation serviceAnnotation = null;

if (serviceAnnotation == null) {
serviceAnnotation = serviceType.getAnnotation(com.alibaba.dubbo.config.annotation.Service.class);
for (Class<? extends Annotation> serviceAnnotationClass : SERVICE_ANNOTATION_CLASSES) {
serviceAnnotation = serviceType.getAnnotation(serviceAnnotationClass);
if (serviceAnnotation != null) {
break;
}
}

if (serviceAnnotation == null) {
throw new IllegalArgumentException(format("@%s or @%s can't be found in the service type[%s].",
Service.class.getName(),
com.alibaba.dubbo.config.annotation.Service.class.getName(),
throw new IllegalArgumentException(format("Any annotation of [%s] can't be annotated in the service type[%s].",
SERVICE_ANNOTATION_CLASSES,
serviceType.getName()
));
}
Expand Down
7 changes: 7 additions & 0 deletions dubbo-metadata/dubbo-metadata-api/pom.xml
Expand Up @@ -78,6 +78,13 @@
<scope>test</scope>
</dependency>

<!-- Spring Web MVC -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<scope>test</scope>
</dependency>

</dependencies>

</project>
Expand Up @@ -25,7 +25,6 @@
import java.util.Arrays;
import java.util.Map;

import static org.apache.dubbo.common.utils.StringUtils.replace;
import static org.apache.dubbo.common.utils.TypeUtils.getRawClass;
import static org.apache.dubbo.common.utils.TypeUtils.isClass;
import static org.apache.dubbo.common.utils.TypeUtils.isParameterizedType;
Expand Down Expand Up @@ -59,13 +58,7 @@ public TypeDefinition build(Type type, Class<?> clazz, Map<Class<?>, TypeDefinit
+ Arrays.toString(actualTypeArgs), type, actualTypeArgs));
}

// Change since 2.7.6
/**
* Replacing <code>", "</code> to <code>","</code> will not change the semantic of
* {@link ParameterizedType#toString()}
* @see sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl
*/
String mapType = replace(type.toString(), ", ", ",");
String mapType = type.toString();

TypeDefinition typeDefinition = new TypeDefinition(mapType);

Expand Down
Expand Up @@ -22,6 +22,9 @@
import java.util.List;
import java.util.Objects;

import static org.apache.dubbo.metadata.definition.model.TypeDefinition.formatType;
import static org.apache.dubbo.metadata.definition.model.TypeDefinition.formatTypes;

/**
* 2015/1/27.
*/
Expand Down Expand Up @@ -60,11 +63,11 @@ public void setParameters(List<TypeDefinition> parameters) {
}

public void setParameterTypes(String[] parameterTypes) {
this.parameterTypes = parameterTypes;
this.parameterTypes = formatTypes(parameterTypes);
}

public void setReturnType(String returnType) {
this.returnType = returnType;
this.returnType = formatType(returnType);
}

@Override
Expand Down
Expand Up @@ -19,12 +19,15 @@
import com.google.gson.annotations.SerializedName;

import java.io.Serializable;
import java.lang.reflect.ParameterizedType;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;

import static org.apache.dubbo.common.utils.StringUtils.replace;

/**
* 2015/1/27.
*/
Expand All @@ -44,7 +47,52 @@ public TypeDefinition() {
}

public TypeDefinition(String type) {
this.type = type;
this.setType(type);
}

/**
* Format the {@link String} array presenting Java types
*
* @param types the strings presenting Java types
* @return new String array of Java types after be formatted
* @since 2.7.9
*/
public static String[] formatTypes(String[] types) {
String[] newTypes = new String[types.length];
for (int i = 0; i < types.length; i++) {
newTypes[i] = formatType(types[i]);
}
return newTypes;
}

/**
* Format the {@link String} presenting Java type
*
* @param type the String presenting type
* @return new String presenting Java type after be formatted
* @since 2.7.9
*/
public static String formatType(String type) {
if (isGenericType(type)) {
return formatGenericType(type);
}
return type;
}

/**
* Replacing <code>", "</code> to <code>","</code> will not change the semantic of
* {@link ParameterizedType#toString()}
*
* @param type
* @return formatted type
* @see sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl
*/
private static String formatGenericType(String type) {
return replace(type, ", ", ",");
}

private static boolean isGenericType(String type) {
return type.contains("<") && type.contains(">");
}

public String get$ref() {
Expand Down Expand Up @@ -105,7 +153,7 @@ public void setProperties(Map<String, TypeDefinition> properties) {
}

public void setType(String type) {
this.type = type;
this.type = formatType(type);
}

public void setTypeBuilderName(String typeBuilderName) {
Expand Down
Expand Up @@ -18,6 +18,7 @@

import org.apache.dubbo.common.utils.MethodComparator;
import org.apache.dubbo.common.utils.ServiceAnnotationResolver;
import org.apache.dubbo.config.annotation.DubboService;
import org.apache.dubbo.config.annotation.Service;
import org.apache.dubbo.metadata.definition.MethodDefinitionBuilder;
import org.apache.dubbo.metadata.definition.model.MethodDefinition;
Expand Down Expand Up @@ -70,7 +71,8 @@ protected final boolean isImplementedInterface(Class<?> serviceType) {
}

protected final boolean isServiceAnnotationPresent(Class<?> serviceType) {
return isAnyAnnotationPresent(serviceType, Service.class, com.alibaba.dubbo.config.annotation.Service.class);
return isAnyAnnotationPresent(serviceType, DubboService.class, Service.class,
com.alibaba.dubbo.config.annotation.Service.class);
}

/**
Expand Down Expand Up @@ -296,7 +298,7 @@ private void processAnnotatedMethodParameters(Method serviceMethod, Class<?> ser
for (int i = 0; i < paramCount; i++) {
Parameter parameter = parameters[i];
// Add indexed parameter name
metadata.addIndexToName(i,parameter.getName());
metadata.addIndexToName(i, parameter.getName());
processAnnotatedMethodParameter(parameter, i, serviceMethod, serviceType, serviceInterfaceClass, metadata);
}
}
Expand Down

0 comments on commit 215287e

Please sign in to comment.