Giter Site home page Giter Site logo

dubbo-spi-extensions's Introduction

dubbo-spi-extensions

Build and Test For PR codecov Maven Central License

中文

The purpose of dubbo-spi-extensions is to provide open, community-driven, reusable components to build microservice programs with different needs. These components extend the core of the Apache Dubbo project, but they are separated and decoupled.

Developers can flexibly choose the required extension dependencies to develop microservice programs based on their needs. The available extensions are as follows:Developers can flexibly choose the required extension dependencies to develop microservice programs based on their needs.

For version release notes, please refer to the documentation:

The available extensions are as follows:

Contribution

Thanks to everyone who has contributed!

dubbo-spi-extensions's People

Contributors

24kpure avatar albumenj avatar andrewshan avatar aofall avatar beiwei30 avatar bo-qiu avatar brotherlu-xcq avatar carlvine500 avatar chaokunyang avatar chickenlj avatar dependabot[bot] avatar finefuture avatar funky-eyes avatar githublaohu avatar haoyann avatar hclown9804 avatar heliang666s avatar htynkn avatar javalionli avatar keran213539 avatar loongs-zhang avatar maojunxyz avatar raboof avatar songxiaosheng avatar warmonipa avatar wcy666103 avatar wxbty avatar xiaoheng1 avatar xixingya avatar zrlw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dubbo-spi-extensions's Issues

dubbo-api-docs提供方无法正常注册

mac os high sierra
nacos 1.4.0
Java版本:
java version "11.0.2" 2019-01-15 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.2+9-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.2+9-LTS, mixed mode)下
dubbo-api-docs-examples项目下的examples-providers无法正常注册,在nacos下只成功注册IDubboDocProvider,IAsyncDemo等接口无法成功注册。

`2021-01-21 16:31:11.948 INFO 62924 --- [ main] o.a.d.a.examples.ExampleApplication : Starting ExampleApplication on xyzdeMacBook-Pro.local with PID 62924 (/Users/xyz/gitrepo/dubbo-spi-extensions/dubbo-api-docs/dubbo-api-docs-examples/examples-provider/target/classes started by xyz in /Users/xyz/gitrepo/dubbo-spi-extensions/dubbo-api-docs/dubbo-api-docs-examples)
2021-01-21 16:31:11.949 INFO 62924 --- [ main] o.a.d.a.examples.ExampleApplication : The following profiles are active: dev
2021-01-21 16:31:12.656 INFO 62924 --- [ main] com.alibaba.spring.util.BeanRegistrar : The Infrastructure bean definition [Root bean: class [org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor]; scope=; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=nullwith name [referenceAnnotationBeanPostProcessor] has been registered.
2021-01-21 16:31:12.657 INFO 62924 --- [ main] com.alibaba.spring.util.BeanRegistrar : The Infrastructure bean definition [Root bean: class [org.apache.dubbo.config.spring.beans.factory.annotation.DubboConfigAliasPostProcessor]; scope=; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=nullwith name [dubboConfigAliasPostProcessor] has been registered.
2021-01-21 16:31:12.658 INFO 62924 --- [ main] com.alibaba.spring.util.BeanRegistrar : The Infrastructure bean definition [Root bean: class [org.apache.dubbo.config.spring.context.DubboLifecycleComponentApplicationListener]; scope=; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=nullwith name [dubboLifecycleComponentApplicationListener] has been registered.
2021-01-21 16:31:12.659 INFO 62924 --- [ main] com.alibaba.spring.util.BeanRegistrar : The Infrastructure bean definition [Root bean: class [org.apache.dubbo.config.spring.context.DubboBootstrapApplicationListener]; scope=; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=nullwith name [dubboBootstrapApplicationListener] has been registered.
2021-01-21 16:31:12.660 INFO 62924 --- [ main] com.alibaba.spring.util.BeanRegistrar : The Infrastructure bean definition [Root bean: class [org.apache.dubbo.config.spring.beans.factory.config.DubboConfigDefaultPropertyValueBeanPostProcessor]; scope=; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=nullwith name [dubboConfigDefaultPropertyValueBeanPostProcessor] has been registered.
2021-01-21 16:31:12.763 INFO 62924 --- [ main] .b.f.a.ConfigurationBeanBindingRegistrar : The configuration bean definition [name : org.apache.dubbo.config.ApplicationConfig#0, content : Root bean: class [org.apache.dubbo.config.ApplicationConfig]; scope=; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] has been registered.
2021-01-21 16:31:12.764 INFO 62924 --- [ main] com.alibaba.spring.util.BeanRegistrar : The Infrastructure bean definition [Root bean: class [com.alibaba.spring.beans.factory.annotation.ConfigurationBeanBindingPostProcessor]; scope=; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=nullwith name [configurationBeanBindingPostProcessor] has been registered.
2021-01-21 16:31:12.764 INFO 62924 --- [ main] .b.f.a.ConfigurationBeanBindingRegistrar : The configuration bean definition [name : org.apache.dubbo.config.RegistryConfig#0, content : Root bean: class [org.apache.dubbo.config.RegistryConfig]; scope=; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] has been registered.
2021-01-21 16:31:12.765 INFO 62924 --- [ main] .b.f.a.ConfigurationBeanBindingRegistrar : The configuration bean definition [name : org.apache.dubbo.config.ProtocolConfig#0, content : Root bean: class [org.apache.dubbo.config.ProtocolConfig]; scope=; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] has been registered.
2021-01-21 16:31:12.765 INFO 62924 --- [ main] .b.f.a.ConfigurationBeanBindingRegistrar : The configuration bean definition [name : org.apache.dubbo.config.ProviderConfig#0, content : Root bean: class [org.apache.dubbo.config.ProviderConfig]; scope=; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] has been registered.
2021-01-21 16:31:12.766 INFO 62924 --- [ main] .b.f.a.ConfigurationBeanBindingRegistrar : The configuration bean definition [name : org.apache.dubbo.config.MetadataReportConfig#0, content : Root bean: class [org.apache.dubbo.config.MetadataReportConfig]; scope=; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] has been registered.
2021-01-21 16:31:13.020 INFO 62924 --- [ main] b.f.a.ServiceAnnotationBeanPostProcessor : [DUBBO] BeanNameGenerator bean can't be found in BeanFactory with name [org.springframework.context.annotation.internalConfigurationBeanNameGenerator], dubbo version: 2.7.8, current host: 192.168.8.100
2021-01-21 16:31:13.020 INFO 62924 --- [ main] b.f.a.ServiceAnnotationBeanPostProcessor : [DUBBO] BeanNameGenerator will be a instance of org.springframework.context.annotation.AnnotationBeanNameGenerator , it maybe a potential problem on bean name generation., dubbo version: 2.7.8, current host: 192.168.8.100
2021-01-21 16:31:13.044 INFO 62924 --- [ main] b.f.a.ServiceAnnotationBeanPostProcessor : [DUBBO] The BeanDefinition[Root bean: class [org.apache.dubbo.config.spring.ServiceBean]; scope=; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] of ServiceBean has been registered with name : ServiceBean:org.apache.dubbo.apidocs.examples.api.IAsyncDemo, dubbo version: 2.7.8, current host: 192.168.8.100
2021-01-21 16:31:13.046 INFO 62924 --- [ main] b.f.a.ServiceAnnotationBeanPostProcessor : [DUBBO] The BeanDefinition[Root bean: class [org.apache.dubbo.config.spring.ServiceBean]; scope=; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] of ServiceBean has been registered with name : ServiceBean:org.apache.dubbo.apidocs.examples.api.IQuickStartDemo, dubbo version: 2.7.8, current host: 192.168.8.100
2021-01-21 16:31:13.048 INFO 62924 --- [ main] b.f.a.ServiceAnnotationBeanPostProcessor : [DUBBO] The BeanDefinition[Root bean: class [org.apache.dubbo.config.spring.ServiceBean]; scope=; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] of ServiceBean has been registered with name : ServiceBean:org.apache.dubbo.apidocs.examples.api.ISyncDemo, dubbo version: 2.7.8, current host: 192.168.8.100
2021-01-21 16:31:13.049 INFO 62924 --- [ main] b.f.a.ServiceAnnotationBeanPostProcessor : [DUBBO] 3 annotated Dubbo's @service Components { [Bean definition with name 'asyncDemoImpl': Generic bean: class [org.apache.dubbo.apidocs.examples.api.impl.AsyncDemoImpl]; scope=; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null; defined in file [/Users/xyz/gitrepo/dubbo-spi-extensions/dubbo-api-docs/dubbo-api-docs-examples/examples-provider/target/classes/org/apache/dubbo/apidocs/examples/api/impl/AsyncDemoImpl.class], Bean definition with name 'quickStartDemoImpl': Generic bean: class [org.apache.dubbo.apidocs.examples.api.impl.QuickStartDemoImpl]; scope=; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null; defined in file [/Users/xyz/gitrepo/dubbo-spi-extensions/dubbo-api-docs/dubbo-api-docs-examples/examples-provider/target/classes/org/apache/dubbo/apidocs/examples/api/impl/QuickStartDemoImpl.class], Bean definition with name 'syncDemoImpl': Generic bean: class [org.apache.dubbo.apidocs.examples.api.impl.SyncDemoImpl]; scope=; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null; defined in file [/Users/xyz/gitrepo/dubbo-spi-extensions/dubbo-api-docs/dubbo-api-docs-examples/examples-provider/target/classes/org/apache/dubbo/apidocs/examples/api/impl/SyncDemoImpl.class]] } were scanned under package[org.apache.dubbo.apidocs.examples.api], dubbo version: 2.7.8, current host: 192.168.8.100
2021-01-21 16:31:13.051 INFO 62924 --- [ main] o.s.c.a.ConfigurationClassPostProcessor : Cannot enhance @configuration bean definition 'org.apache.dubbo.spring.boot.autoconfigure.DubboAutoConfiguration' since its singleton instance has been created too early. The typical cause is a non-static @bean method with a BeanDefinitionRegistryPostProcessor return type: Consider declaring such methods as 'static'.
2021-01-21 16:31:13.417 INFO 62924 --- [ main] .a.ConfigurationBeanBindingPostProcessor : The configuration bean [<dubbo:application name="dubbo-api-docs-example-provider" qosEnable="false" hostname="xyzdeMacBook-Pro.local" />] have been binding by the configuration properties [{name=dubbo-api-docs-example-provider, qos-enable=false}]
2021-01-21 16:31:13.442 INFO 62924 --- [ main] .a.ConfigurationBeanBindingPostProcessor : The configuration bean [<dubbo:registry address="nacos://127.0.0.1:8848" port="8848" protocol="nacos" />] have been binding by the configuration properties [{address=nacos://127.0.0.1:8848}]
2021-01-21 16:31:13.458 INFO 62924 --- [ main] .a.ConfigurationBeanBindingPostProcessor : The configuration bean [<dubbo:protocol name="dubbo" port="20881" />] have been binding by the configuration properties [{port=20881, name=dubbo}]
2021-01-21 16:31:13.778 INFO 62924 --- [ main] .a.ConfigurationBeanBindingPostProcessor : The configuration bean [<dubbo:provider />] have been binding by the configuration properties [{timeout=2000}]
2021-01-21 16:31:13.783 INFO 62924 --- [ main] .a.ConfigurationBeanBindingPostProcessor : The configuration bean [<dubbo:metadata-report address="nacos://127.0.0.1:8848" />] have been binding by the configuration properties [{address=nacos://127.0.0.1:8848}]
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by javassist.ClassPool (file:/Users/xyz/.m2/repository/org/javassist/javassist/3.20.0-GA/javassist-3.20.0-GA.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of javassist.ClassPool
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
2021-01-21 16:31:14.154 INFO 62924 --- [ main] o.a.d.c.utils.ConfigValidationUtils : [DUBBO] There's no valid monitor config found, if you want to open monitor statistics for Dubbo, please make sure your monitor is configured properly., dubbo version: 2.7.8, current host: 192.168.8.100
2021-01-21 16:31:14.413 INFO 62924 --- [ main] o.a.d.config.bootstrap.DubboBootstrap : [DUBBO] DubboBootstrap has been initialized!, dubbo version: 2.7.8, current host: 192.168.8.100
2021-01-21 16:31:14.413 INFO 62924 --- [ main] o.a.d.config.bootstrap.DubboBootstrap : [DUBBO] DubboBootstrap is starting..., dubbo version: 2.7.8, current host: 192.168.8.100
2021-01-21 16:31:14.430 INFO 62924 --- [ main] o.a.d.config.bootstrap.DubboBootstrap : [DUBBO] DubboBootstrap is ready., dubbo version: 2.7.8, current host: 192.168.8.100
2021-01-21 16:31:14.430 INFO 62924 --- [ main] o.a.d.config.bootstrap.DubboBootstrap : [DUBBO] DubboBootstrap has started., dubbo version: 2.7.8, current host: 192.168.8.100
2021-01-21 16:31:14.436 INFO 62924 --- [ main] o.a.d.a.examples.ExampleApplication : Started ExampleApplication in 3.078 seconds (JVM running for 4.782)
2021-01-21 16:31:14.440 INFO 62924 --- [pool-1-thread-1] .b.c.e.AwaitingNonWebApplicationListener : [Dubbo] Current Spring Boot Application is await...
2021-01-21 16:31:14.470 INFO 62924 --- [ main] org.apache.dubbo.config.ServiceConfig : [DUBBO] No valid ip found from environment, try to find valid host from DNS., dubbo version: 2.7.8, current host: 192.168.8.100
2021-01-21 16:31:14.506 INFO 62924 --- [ main] org.apache.dubbo.config.ServiceConfig : [DUBBO] Export dubbo service org.apache.dubbo.apidocs.core.providers.IDubboDocProvider to local registry url : injvm://127.0.0.1/org.apache.dubbo.apidocs.core.providers.IDubboDocProvider?anyhost=true&application=dubbo-api-docs-example-provider&async=false&bind.ip=192.168.8.100&bind.port=20881&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&interface=org.apache.dubbo.apidocs.core.providers.IDubboDocProvider&metadata-type=remote&methods=apiModuleListAndApiInfo,apiParamsResponseInfo,apiModuleInfo,apiModuleList&pid=62924&qos.enable=false&release=2.7.8&revision=2.7.8.1&side=provider&timeout=2000&timestamp=1611217874451, dubbo version: 2.7.8, current host: 192.168.8.100
2021-01-21 16:31:14.507 INFO 62924 --- [ main] org.apache.dubbo.config.ServiceConfig : [DUBBO] Register dubbo service org.apache.dubbo.apidocs.core.providers.IDubboDocProvider url dubbo://192.168.8.100:20881/org.apache.dubbo.apidocs.core.providers.IDubboDocProvider?anyhost=true&application=dubbo-api-docs-example-provider&async=false&bind.ip=192.168.8.100&bind.port=20881&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&interface=org.apache.dubbo.apidocs.core.providers.IDubboDocProvider&metadata-type=remote&methods=apiModuleListAndApiInfo,apiParamsResponseInfo,apiModuleInfo,apiModuleList&pid=62924&qos.enable=false&release=2.7.8&revision=2.7.8.1&side=provider&timeout=2000&timestamp=1611217874451 to registry registry://127.0.0.1:8848/org.apache.dubbo.registry.RegistryService?application=dubbo-api-docs-example-provider&dubbo=2.0.2&pid=62924&qos.enable=false&registry=nacos&release=2.7.8&timestamp=1611217874449, dubbo version: 2.7.8, current host: 192.168.8.100
2021-01-21 16:31:14.527 INFO 62924 --- [ main] o.a.d.qos.protocol.QosProtocolWrapper : [DUBBO] qos won't be started because it is disabled. Please check dubbo.application.qos.enable is configured either in system property, dubbo.properties or XML/spring-boot configuration., dubbo version: 2.7.8, current host: 192.168.8.100
2021-01-21 16:31:14.777 INFO 62924 --- [ main] o.a.d.remoting.transport.AbstractServer : [DUBBO] Start NettyServer bind /0.0.0.0:20881, export /192.168.8.100:20881, dubbo version: 2.7.8, current host: 192.168.8.100
2021-01-21 16:31:14.993 INFO 62924 --- [ main] o.a.dubbo.registry.nacos.NacosRegistry : [DUBBO] Register: dubbo://192.168.8.100:20881/org.apache.dubbo.apidocs.core.providers.IDubboDocProvider?anyhost=true&application=dubbo-api-docs-example-provider&async=false&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&interface=org.apache.dubbo.apidocs.core.providers.IDubboDocProvider&metadata-type=remote&methods=apiModuleListAndApiInfo,apiParamsResponseInfo,apiModuleInfo,apiModuleList&pid=62924&release=2.7.8&revision=2.7.8.1&side=provider&timeout=2000&timestamp=1611217874451, dubbo version: 2.7.8, current host: 192.168.8.100
2021-01-21 16:31:15.044 INFO 62924 --- [ main] o.a.dubbo.registry.nacos.NacosRegistry : [DUBBO] Subscribe: provider://192.168.8.100:20881/org.apache.dubbo.apidocs.core.providers.IDubboDocProvider?anyhost=true&application=dubbo-api-docs-example-provider&async=false&bind.ip=192.168.8.100&bind.port=20881&category=configurators&check=false&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&interface=org.apache.dubbo.apidocs.core.providers.IDubboDocProvider&metadata-type=remote&methods=apiModuleListAndApiInfo,apiParamsResponseInfo,apiModuleInfo,apiModuleList&pid=62924&qos.enable=false&release=2.7.8&revision=2.7.8.1&side=provider&timeout=2000&timestamp=1611217874451, dubbo version: 2.7.8, current host: 192.168.8.100
2021-01-21 16:31:15.076 INFO 62924 --- [ main] o.a.dubbo.registry.nacos.NacosRegistry : [DUBBO] Notify urls for subscribe url provider://192.168.8.100:20881/org.apache.dubbo.apidocs.core.providers.IDubboDocProvider?anyhost=true&application=dubbo-api-docs-example-provider&async=false&bind.ip=192.168.8.100&bind.port=20881&category=configurators&check=false&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&interface=org.apache.dubbo.apidocs.core.providers.IDubboDocProvider&metadata-type=remote&methods=apiModuleListAndApiInfo,apiParamsResponseInfo,apiModuleInfo,apiModuleList&pid=62924&qos.enable=false&release=2.7.8&revision=2.7.8.1&side=provider&timeout=2000&timestamp=1611217874451, urls: [empty://192.168.8.100:20881/org.apache.dubbo.apidocs.core.providers.IDubboDocProvider?anyhost=true&application=dubbo-api-docs-example-provider&async=false&bind.ip=192.168.8.100&bind.port=20881&category=providers&check=false&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&interface=org.apache.dubbo.apidocs.core.providers.IDubboDocProvider&metadata-type=remote&methods=apiModuleListAndApiInfo,apiParamsResponseInfo,apiModuleInfo,apiModuleList&pid=62924&qos.enable=false&release=2.7.8&revision=2.7.8.1&side=provider&timeout=2000&timestamp=1611217874451], dubbo version: 2.7.8, current host: 192.168.8.100
2021-01-21 16:31:15.079 INFO 62924 --- [client.listener] o.a.dubbo.registry.nacos.NacosRegistry : [DUBBO] Notify urls for subscribe url provider://192.168.8.100:20881/org.apache.dubbo.apidocs.core.providers.IDubboDocProvider?anyhost=true&application=dubbo-api-docs-example-provider&async=false&bind.ip=192.168.8.100&bind.port=20881&category=configurators&check=false&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&interface=org.apache.dubbo.apidocs.core.providers.IDubboDocProvider&metadata-type=remote&methods=apiModuleListAndApiInfo,apiParamsResponseInfo,apiModuleInfo,apiModuleList&pid=62924&qos.enable=false&release=2.7.8&revision=2.7.8.1&side=provider&timeout=2000&timestamp=1611217874451, urls: [empty://192.168.8.100:20881/org.apache.dubbo.apidocs.core.providers.IDubboDocProvider?anyhost=true&application=dubbo-api-docs-example-provider&async=false&bind.ip=192.168.8.100&bind.port=20881&category=providers&check=false&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&interface=org.apache.dubbo.apidocs.core.providers.IDubboDocProvider&metadata-type=remote&methods=apiModuleListAndApiInfo,apiParamsResponseInfo,apiModuleInfo,apiModuleList&pid=62924&qos.enable=false&release=2.7.8&revision=2.7.8.1&side=provider&timeout=2000&timestamp=1611217874451], dubbo version: 2.7.8, current host: 192.168.8.100
2021-01-21 16:31:15.080 INFO 62924 --- [client.listener] o.a.dubbo.registry.nacos.NacosRegistry : [DUBBO] Notify urls for subscribe url provider://192.168.8.100:20881/org.apache.dubbo.apidocs.core.providers.IDubboDocProvider?anyhost=true&application=dubbo-api-docs-example-provider&async=false&bind.ip=192.168.8.100&bind.port=20881&category=configurators&check=false&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&interface=org.apache.dubbo.apidocs.core.providers.IDubboDocProvider&metadata-type=remote&methods=apiModuleListAndApiInfo,apiParamsResponseInfo,apiModuleInfo,apiModuleList&pid=62924&qos.enable=false&release=2.7.8&revision=2.7.8.1&side=provider&timeout=2000&timestamp=1611217874451, urls: [empty://192.168.8.100:20881/org.apache.dubbo.apidocs.core.providers.IDubboDocProvider?anyhost=true&application=dubbo-api-docs-example-provider&async=false&bind.ip=192.168.8.100&bind.port=20881&category=providers&check=false&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&interface=org.apache.dubbo.apidocs.core.providers.IDubboDocProvider&metadata-type=remote&methods=apiModuleListAndApiInfo,apiParamsResponseInfo,apiModuleInfo,apiModuleList&pid=62924&qos.enable=false&release=2.7.8&revision=2.7.8.1&side=provider&timeout=2000&timestamp=1611217874451], dubbo version: 2.7.8, current host: 192.168.8.100
2021-01-21 16:31:15.093 INFO 62924 --- [Report-thread-1] .d.m.r.s.ConfigCenterBasedMetadataReport : [DUBBO] store provider metadata. Identifier : org.apache.dubbo.metadata.report.identifier.MetadataIdentifier@6ec47de0; definition: FullServiceDefinition{parameters={side=provider, release=2.7.8, methods=apiModuleListAndApiInfo,apiParamsResponseInfo,apiModuleInfo,apiModuleList, deprecated=false, dubbo=2.0.2, interface=org.apache.dubbo.apidocs.core.providers.IDubboDocProvider, qos.enable=false, timeout=2000, generic=false, revision=2.7.8.1, async=false, metadata-type=remote, application=dubbo-api-docs-example-provider, dynamic=true, anyhost=true}} ServiceDefinition [canonicalName=org.apache.dubbo.apidocs.core.providers.IDubboDocProvider, codeSource=dubbo-api-docs-core-2.7.8.1.jar, methods=[MethodDefinition [name=apiModuleList, parameterTypes=[], returnType=java.lang.String], MethodDefinition [name=apiModuleListAndApiInfo, parameterTypes=[], returnType=java.util.List<org.apache.dubbo.apidocs.core.beans.ModuleCacheItem>], MethodDefinition [name=apiModuleInfo, parameterTypes=[java.lang.String], returnType=java.lang.String], MethodDefinition [name=apiParamsResponseInfo, parameterTypes=[java.lang.String], returnType=java.lang.String]]], dubbo version: 2.7.8, current host: 192.168.8.100
2021-01-21 16:31:15.098 INFO 62924 --- [ main] m.DynamicConfigurationServiceNameMapping : [DUBBO] Dubbo service[null] mapped to interface name[org.apache.dubbo.apidocs.core.providers.IDubboDocProvider]., dubbo version: 2.7.8, current host: 192.168.8.100
2021-01-21 16:31:15.098 INFO 62924 --- [ main] o.a.d.a.c.DubboApiDocsAnnotationScanner : [DUBBO] ================= Dubbo API Docs--Start scanning and processing doc annotations ================, dubbo version: 2.7.8, current host: 192.168.8.100
2021-01-21 16:31:15.560 INFO 62924 --- [ main] o.a.d.a.c.DubboApiDocsAnnotationScanner : [DUBBO] ================= Dubbo API Docs-- doc annotations scanning and processing completed ================, dubbo version: 2.7.8, current host: 192.168.8.100

`
相同的示例,在windows平台下,JDK 8,nacos版本相同情况下可以成功注册。

dubbo api docs, 提供者方法参数的类有泛型,泛型没解析,并且测试时调用失败

例如 有如下结构的几个Pojo和提供者方法:

  calss DemoBase<T, E>{
    T p1
    E p2
    getP1()
    getP2()
  }
  
  class DemoPojo1 {
      String name;
      getName()
  }
  
  class DemoPojo2 {
      String age;
      getAge()
  }

// 下面这个是提供者方法
public String testDemo(DemoBase<DemoPojo1, DemoPojo2> demo) {
    return demo.getP1().getName();
}

这种情况下,解析出来的文档,在 p1 和 p2 参数位置,只有个空JSON对象, 并且按照 DemoPojo 的结构写好JSON,调用测试报错

Fix the bug of RmiProtocolTest#testRemoteApplicationName

  • I have searched the issues of this repository and believe that this is not a duplicate.
  • I have checked the FAQ of this repository and believe that this is not a duplicate.

Environment

  • Dubbo version: dubbo3.0
  • Operating System version: macos
  • Java version: 1.8

In dubbo3, the ConsumerContextFilter is modified to implement the ClusterFilter interface. When writing test cases, if user directly export and refer the service based on the protocol, the filter will not be loaded, causing the REMOTE_APPLICATION_KEY parameter to not be passed to the provider side.

Movitation:

add a consumer-side filter to pass REMOTE_APPLICATION_KEY to the provider-side

bug report: org.apache.dubbo.remoting.etcd.option.OptionUtil prefixEndOf

code branch : master
file : org.apache.dubbo.remoting.etcd.option.OptionUtil prefixEndOf
line :32
https://github.com/apache/dubbo/blob/84d355fb1b553c7c5f01357069b13d434f60e53c/dubbo-remoting/dubbo-remoting-etcd3/src/main/java/org/apache/dubbo/remoting/etcd/option/OptionUtil.java#L32
commit message 👍
[Dubbo-808] Support etcd registry (#3605) * Merge https://github.com/dubbo/dubbo-registry-etcd into incubator-dubbo * Add UT to ConfigurationUtilsTest

code:
public static final ByteSequence prefixEndOf(ByteSequence prefix) {
byte[] endKey = prefix.getBytes().clone();
for (int i = endKey.length - 1; i >= 0; i--) {
if (endKey[i] < 0xff) { //which is always true, please fix it
endKey[i] = (byte) (endKey[i] + 1);
return ByteSequence.from(Arrays.copyOf(endKey, i + 1));
}
}
return ByteSequence.from(NO_PREFIX_END);
}

Extend fst serialization

  • I have searched the issues of this repository and believe that this is not a duplicate.
  • I have checked the REAMDE of this repository and believe that this is not a duplicate.

Make dubbo3 support fst serialization.

dubbo泛化调用设置了group的提供者服务时,提示no provider,debug发现consul的健康检查不通过

  • I have searched the issues of this repository and believe that this is not a duplicate.
  • I have checked the FAQ of this repository and believe that this is not a duplicate.

Environment

  • Dubbo version: 2.7.6
  • Operating System version: win10
  • Java version: 1.8

Steps to reproduce this issue

  1. 本地启动最简单的dubbo provider进程,注册中心选择consul
  2. 本地单测通过dubbo泛化调步骤1的provider

Pls. provide [GitHub address] to reproduce this issue.

Expected Result

dubbo泛化正常

Actual Result

若provider未设置group可正常调用;否则报“org.apache.dubbo.rpc.RpcException: No provider available from registry xxx for service group/service on consumer...”异常

If there is an exception, please attach the exception trace:

org.apache.dubbo.rpc.RpcException: No provider available from registry localhost:8500 for service g1/fake.service.FakeService on consumer 172.28.42.23 use dubbo version 2.7.6, please check status of providers(disabled, not registered or in blacklist).
	at org.apache.dubbo.registry.integration.RegistryDirectory.doList(RegistryDirectory.java:599)
	at org.apache.dubbo.rpc.cluster.directory.AbstractDirectory.list(AbstractDirectory.java:75)
	at org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.list(AbstractClusterInvoker.java:291)
	at org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:256)
	at org.apache.dubbo.rpc.cluster.interceptor.ClusterInterceptor.intercept(ClusterInterceptor.java:47)
	at org.apache.dubbo.rpc.cluster.support.wrapper.AbstractCluster$InterceptorInvokerNode.invoke(AbstractCluster.java:92)
	at org.apache.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.invoke(MockClusterInvoker.java:82)
	at org.apache.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:74)
	at org.apache.dubbo.common.bytecode.proxy0.$invoke(proxy0.java)
	at dubbo.DubboTest.invoke(DubboTest.java:65)

使用consul注册中心,使用acl认证时,dubbo配置没有将认证token传入

  • I have searched the issues of this repository and believe that this is not a duplicate.
  • I have checked the FAQ of this repository and believe that this is not a duplicate.

Environment

  • Dubbo version: 2.7.7
  • Operating System version: linux
  • Java version: 1.8

Steps to reproduce this issue

我使用的是dubbo-spring-boot-starter, yml配置中配置了token。在dubbo创建consul时,看起来只是将host和port配置了,但是token没有配置。导致服务无法注册到注册中心
不知是否还有其他配置方式可以解决我的问题?

image
image

Pls. provide [GitHub address] to reproduce this issue.

Expected Result

正常可以注册到注册中心

Actual Result

What actually happens?


org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userController': Unsatisfied dependency expressed through field 'userService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userServiceImpl': Injection of @DubboReference dependencies is failed; nested exception is com.orbitz.consul.ConsulException: Error connecting to Consul
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:643) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:130) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1422) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:594) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:882) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:878) ~[spring-context-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550) ~[spring-context-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141) ~[spring-boot-2.2.6.RELEASE.jar:2.2.6.RELEASE]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747) [spring-boot-2.2.6.RELEASE.jar:2.2.6.RELEASE]
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) [spring-boot-2.2.6.RELEASE.jar:2.2.6.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) [spring-boot-2.2.6.RELEASE.jar:2.2.6.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) [spring-boot-2.2.6.RELEASE.jar:2.2.6.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215) [spring-boot-2.2.6.RELEASE.jar:2.2.6.RELEASE]
	at cn.lingmoe.oauth.OauthApplication.main(OauthApplication.java:15) [classes/:na]
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userServiceImpl': Injection of @DubboReference dependencies is failed; nested exception is com.orbitz.consul.ConsulException: Error connecting to Consul
	at com.alibaba.spring.beans.factory.annotation.AbstractAnnotationBeanPostProcessor.postProcessPropertyValues(AbstractAnnotationBeanPostProcessor.java:146) ~[spring-context-support-1.0.6.jar:na]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1427) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:594) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1290) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1210) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	... 19 common frames omitted
Caused by: com.orbitz.consul.ConsulException: Error connecting to Consul
	at com.orbitz.consul.AgentClient.ping(AgentClient.java:69) ~[consul-client-1.4.2.jar:na]
	at com.orbitz.consul.Consul$Builder.build(Consul.java:731) ~[consul-client-1.4.2.jar:na]
	at org.apache.dubbo.configcenter.consul.ConsulDynamicConfiguration.<init>(ConsulDynamicConfiguration.java:72) ~[dubbo-2.7.7.jar:2.7.7]
	at org.apache.dubbo.configcenter.consul.ConsulDynamicConfigurationFactory.createDynamicConfiguration(ConsulDynamicConfigurationFactory.java:30) ~[dubbo-2.7.7.jar:2.7.7]
	at org.apache.dubbo.common.config.configcenter.AbstractDynamicConfigurationFactory.lambda$getDynamicConfiguration$0(AbstractDynamicConfigurationFactory.java:39) ~[dubbo-2.7.7.jar:2.7.7]
	at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660) ~[na:1.8.0_252]
	at org.apache.dubbo.common.config.configcenter.AbstractDynamicConfigurationFactory.getDynamicConfiguration(AbstractDynamicConfigurationFactory.java:39) ~[dubbo-2.7.7.jar:2.7.7]
	at org.apache.dubbo.common.config.configcenter.DynamicConfiguration.getDynamicConfiguration(DynamicConfiguration.java:224) ~[dubbo-2.7.7.jar:2.7.7]
	at org.apache.dubbo.config.bootstrap.DubboBootstrap.prepareEnvironment(DubboBootstrap.java:882) ~[dubbo-2.7.7.jar:2.7.7]
	at org.apache.dubbo.config.bootstrap.DubboBootstrap.startConfigCenter(DubboBootstrap.java:605) ~[dubbo-2.7.7.jar:2.7.7]
	at org.apache.dubbo.config.bootstrap.DubboBootstrap.useRegistryAsConfigCenterIfNecessary(DubboBootstrap.java:674) ~[dubbo-2.7.7.jar:2.7.7]
	at org.apache.dubbo.config.bootstrap.DubboBootstrap.initialize(DubboBootstrap.java:511) ~[dubbo-2.7.7.jar:2.7.7]
	at org.apache.dubbo.config.bootstrap.DubboBootstrap.init(DubboBootstrap.java:496) ~[dubbo-2.7.7.jar:2.7.7]
	at org.apache.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:190) ~[dubbo-2.7.7.jar:2.7.7]
	at org.apache.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:158) ~[dubbo-2.7.7.jar:2.7.7]
	at org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor.getOrCreateProxy(ReferenceAnnotationBeanPostProcessor.java:280) ~[dubbo-2.7.7.jar:2.7.7]
	at org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor.doGetInjectedBean(ReferenceAnnotationBeanPostProcessor.java:149) ~[dubbo-2.7.7.jar:2.7.7]
	at com.alibaba.spring.beans.factory.annotation.AbstractAnnotationBeanPostProcessor.getInjectedObject(AbstractAnnotationBeanPostProcessor.java:359) ~[spring-context-support-1.0.6.jar:na]
	at com.alibaba.spring.beans.factory.annotation.AbstractAnnotationBeanPostProcessor$AnnotatedFieldElement.inject(AbstractAnnotationBeanPostProcessor.java:539) ~[spring-context-support-1.0.6.jar:na]
	at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:130) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	at com.alibaba.spring.beans.factory.annotation.AbstractAnnotationBeanPostProcessor.postProcessPropertyValues(AbstractAnnotationBeanPostProcessor.java:142) ~[spring-context-support-1.0.6.jar:na]
	... 30 common frames omitted
Caused by: com.orbitz.consul.ConsulException: Error pinging Consul: Forbidden
	at com.orbitz.consul.AgentClient.ping(AgentClient.java:65) ~[consul-client-1.4.2.jar:na]
	... 50 common frames omitted

Just put your stack trace here!

Extend gson serialization

  • I have searched the issues of this repository and believe that this is not a duplicate.
  • I have checked the REAMDE of this repository and believe that this is not a duplicate.

Make dubbo3 support gson serialization.

Extend kryo serialization

  • I have searched the issues of this repository and believe that this is not a duplicate.
  • I have checked the REAMDE of this repository and believe that this is not a duplicate.

Make dubbo3 support kryo serialization.

Can not distinguish multi-overload methods of the same method name

  • I have searched the issues of this repository and believe that this is not a duplicate.
  • I have checked the REAMDE of this repository and believe that this is not a duplicate.

Environment

  • Dubbo version: 2.7.8
  • Operating System version: macOS 11.2.3
  • Java version: 1.8.x
  • Module name: For example, dubbo-api-docs

Steps to reproduce this issue

  1. Dubbo api interface add overload method
  2. IDubboDocProvider.apiParamsResponseInfo(apiInterfaceClassNameMethodName) can not meet the multi-overload methods needs

Pls. provide [GitHub address] to reproduce this issue.
the above

What do you expected from the above steps?

dubbo-api-docs can distinguish multi-overload methods of the same method name and return the correct method infomations.

What actually happens?

Can not distinguish multi-overload methods of the same method name.

OpenRPC support

I think this project could benefit from integration with OpenRPC which provides a base foundation for service discovery and tooling such as documentation and client generation for JSON-RPC akin to OpenAPI/Swagger.

Seems like you already have something like it for this project, but collaborating on an industry standard spec would benefit the whole JSON-RPC ecosystem.

Let me know how I can help.

https://open-rpc.org

Kryo序列化协议,希望能加入自定义注册类的ClassId的支持

  • I have searched the issues of this repository and believe that this is not a duplicate.
  • I have checked the FAQ of this repository and believe that this is not a duplicate.

Environment

  • Dubbo version: 2.7.8
  • Operating System version: Win10
  • Java version: Jdk11

场景描述

在多模块协作的系统中,无法保证服务提供方和消费方Java DTO数量以及注册顺序的一致,可能A作为服务提供方,提供了DTO,而B作为消费方,可能同时消费A、C的服务,同时自身也对外提供服务,在使用Kryo序列化时,需要同时注册A、B、C服务的DTO。

例如A系统的SerializationOptimizer实现

public class ASerializationOptimizerImpl
        implements SerializationOptimizer {
    @Override
    public Collection<Class<?>> getSerializableClasses() {
        return A1.class;
        return A2.class;
        return A3.class;
        return A4.class;
        return C1.class;
        return C2.class;
    }
}

B系统的SerializationOptimizer实现

public class BSerializationOptimizerImpl
        implements SerializationOptimizer {
    @Override
    public Collection<Class<?>> getSerializableClasses() {
        return A1.class;
        return A2.class;
        return A3.class;
        return A4.class;
        return B1.class;
        return B2.class;
        return C1.class;
        return C2.class;
    }
}

目前Dubbo使用的主要是Kryo的

public Registration register (Class type) {
	Registration registration = classResolver.getRegistration(type);
	if (registration != null) return registration;
	return register(type, getDefaultSerializer(type));
}

该方法的实现,要求反序列化时的顺序必须与序列化时的顺序相同
在多模块系统下很难达成此条件。

希望能加入对com.esotericsoftware.kryo.Kryo#register (Class type, int id)的支持,自定义ClassId

public Registration register (Class type, int id) {
	Registration registration = classResolver.getRegistration(type);
	if (registration != null) return registration;
	return register(type, getDefaultSerializer(type), id);
}

Maybe bug: jetcd-core:jar:0.5.7 NoSuchMethodError io.grpc.netty.NettyChannelBuilder.maxInboundMessageSize

I upgrade dubbo-remoting-etcd3 from 2.7.11 to 2.7.15, then application start fail with follow exception:

Caused by: java.lang.NoSuchMethodError: io.grpc.netty.NettyChannelBuilder.maxInboundMessageSize(I)Lio/grpc/netty/NettyChannelBuilder;
	at io.etcd.jetcd.ClientConnectionManager.defaultChannelBuilder(ClientConnectionManager.java:236) ~[jetcd-core-0.5.7.jar:?]
	at io.etcd.jetcd.ClientConnectionManager.defaultChannelBuilder(ClientConnectionManager.java:202) ~[jetcd-core-0.5.7.jar:?]
	at io.etcd.jetcd.ClientConnectionManager.getChannel(ClientConnectionManager.java:122) ~[jetcd-core-0.5.7.jar:?]
	at io.etcd.jetcd.ClientConnectionManager.newStub(ClientConnectionManager.java:171) ~[jetcd-core-0.5.7.jar:?]
	at io.etcd.jetcd.KVImpl.<init>(KVImpl.java:54) ~[jetcd-core-0.5.7.jar:?]
	at io.etcd.jetcd.ClientImpl.lambda$new$0(ClientImpl.java:38) ~[jetcd-core-0.5.7.jar:?]
	at io.etcd.jetcd.support.MemoizingClientSupplier.get(MemoizingClientSupplier.java:37) ~[jetcd-core-0.5.7.jar:?]
	at io.etcd.jetcd.ClientImpl.getKVClient(ClientImpl.java:55) ~[jetcd-core-0.5.7.jar:?]
	at org.apache.dubbo.remoting.etcd.jetcd.JEtcdClientWrapper.lambda$checkExists$7(JEtcdClientWrapper.java:270) ~[dubbo-remoting-etcd3-2.7.15.jar:2.7.15]
	at org.apache.dubbo.remoting.etcd.jetcd.RetryLoops.invokeWithRetry(RetryLoops.java:56) ~[dubbo-remoting-etcd3-2.7.15.jar:2.7.15]
	at org.apache.dubbo.remoting.etcd.jetcd.JEtcdClientWrapper.checkExists(JEtcdClientWrapper.java:267) ~[dubbo-remoting-etcd3-2.7.15.jar:2.7.15]
	at org.apache.dubbo.remoting.etcd.jetcd.JEtcdClient.checkExists(JEtcdClient.java:126) ~[dubbo-remoting-etcd3-2.7.15.jar:2.7.15]
	at org.apache.dubbo.remoting.etcd.support.AbstractEtcdClient.createParentIfAbsent(AbstractEtcdClient.java:157) ~[dubbo-remoting-etcd3-2.7.15.jar:2.7.15]
	at org.apache.dubbo.remoting.etcd.support.AbstractEtcdClient.createEphemeral(AbstractEtcdClient.java:89) ~[dubbo-remoting-etcd3-2.7.15.jar:2.7.15]
	at org.apache.dubbo.registry.etcd.EtcdRegistry.doRegister(EtcdRegistry.java:112) ~[dubbo-2.7.15.jar:2.7.15]

After checking the exception stack I compare the version different between dubbo-remoting-etcd3/2.7.11 and dubbo-remoting-etcd3/2.7.15:

org.apache.dubbo:dubbo-remoting-etcd3:jar:2.7.15:compile
+- io.etcd:jetcd-core:jar:0.5.7:compile
+- io.grpc:grpc-core:jar:1.31.1:compile
org.apache.dubbo:dubbo-remoting-etcd3:jar:2.7.11:compile
+- io.etcd:jetcd-core:jar:0.5.3:compile
+- io.grpc:grpc-core:jar:1.31.1:compile

My solution (all test pass):

  1. Specify separately the jetcd-core:jar into 0.5.3:
<dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-remoting-etcd3</artifactId>
            <version>2.7.15</version>
            <exclusions>
                <exclusion>
                    <artifactId>dubbo-common</artifactId>
                    <groupId>org.apache.dubbo</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>dubbo-remoting-api</artifactId>
                    <groupId>org.apache.dubbo</groupId>
                </exclusion>
                <exclusion>
                    <groupId>io.etcd</groupId>
                    <artifactId>jetcd-core</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>io.etcd</groupId>
            <artifactId>jetcd-core</artifactId>
            <version>0.5.3</version>
        </dependency>

  1. Use dubbo-remoting-etcd3 2.7.14 whose jetcd-core is still 0.5.3, instead of dubbo-remoting-etcd3 2.7.15.

Thanks for help!

dubbo3.0.5 如何使用kryo序列化

our old project uses kryo serialization. and we plan to update to dubbo 3.0.5. But i didnt find manual on dubbo website and documents, either i cant find artifact of dubbo-serialization-kryo 3.0.0-SNAPSHOT in mvn repo or aliyun repo.

how to use kryo with dubbo 3.0.5?

能否将org.apache.dubbo.common.serialize.kryo.CompatibleKryo继承改为de.javakaffee.kryoserializers.KryoReflectionFactorySupport以支持没有无参构造的类

  • I have searched the issues of this repository and believe that this is not a duplicate.
  • I have checked the FAQ of this repository and believe that this is not a duplicate.

Environment

  • Dubbo version: 2.7.x
  • Operating System version: *
  • Java version: *

Steps to reproduce this issue

一些java自带的类,比如说java.sql.Timestamp or java.net.InetSocketAddress没有无参构造,反序列化就会报错

dubbo api docs的几个问题

  1. 方法参数上的类里的(第一层) serialVersionUID 未过滤,展现到表单上了
  2. 方法参数上有List<泛型>, 或者其他一些集合类型<泛型>时,未被解析
  3. 方法参数上有List或者其他一些集合类型时, 测试数据提供者拿不到(提交的数据格式有问题)
  4. 取消docs注解里的version(先不删,标记将要删除), 取dubbo注解里的

sofa registry service name conflict

have a look at
https://github.com/apache/dubbo/blob/56353aebc0c678582f7a2309dfd53d29b46deb3b/dubbo-registry/dubbo-registry-sofa/src/main/java/org/apache/dubbo/registry/sofa/SofaRegistry.java#L232-L246

conflict happens in following situation.

  • first service:
    version: v1, no group
  • second service:
    group: v1, no version

and both of them would have same service name like: com.dubbo.service:v1@dubbo.
it would be better if keep colon even version or group is empty.
e.g.
com.dubbo.service::v1
com.dubbo.service:v1:

@hengyunabc @ujjboy

dubbo-remoting-etcd3 BUILD FAILURE

  • [√] I have searched the issues of this repository and believe that this is not a duplicate.
  • [√] I have checked the FAQ of this repository and believe that this is not a duplicate.

Environment

  • Dubbo version: 2.7.5
  • Operating System version: CentOS 7.6
  • Java version: 1.8.0

Steps to reproduce this issue

1.dockerd &
2.wget https://github.com/apache/dubbo/archive/dubbo-2.7.5.tar.gz
3.tar xvf dubbo-2.7.5.tar.gz
4.cd dubbo-dubbo-2.7.5/dubbo-remoting/dubbo-remoting-etcd3
5.mvn install

Pls. provide [GitHub address] to reproduce this issue.

Expected Result

BUILD SUCCESS

Actual Result

[INFO] -------------------------------------------------------
[INFO] T E S T S
[INFO] -------------------------------------------------------
[INFO] Running org.apache.dubbo.remoting.etcd.jetcd.JEtcdClientTest
[WARNING] Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.004 s - in org.apache.dubbo.remoting.etcd.jetcd.JEtcdClientTest
[INFO] Running org.apache.dubbo.remoting.etcd.jetcd.LeaseTest
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
ℹ︎ Checking the system...
✔ Docker version should be at least 1.6.0
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 4.528 s <<< FAILURE! - in org.apache.dubbo.remoting.etcd.jetcd.LeaseTest
[ERROR] org.apache.dubbo.remoting.etcd.jetcd.LeaseTest Time elapsed: 4.528 s <<< ERROR!
com.github.dockerjava.api.exception.DockerClientException: Could not pull image: no matching manifest for linux/arm64/v8 in the manifest list entries
at org.apache.dubbo.remoting.etcd.jetcd.LeaseTest.beforeClass(LeaseTest.java:78)

[INFO] Running org.apache.dubbo.remoting.etcd.jetcd.JEtcdClientWrapperTest
[WARNING] Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0 s - in org.apache.dubbo.remoting.etcd.jetcd.JEtcdClientWrapperTest
[INFO]
[INFO] Results:
[INFO]
[ERROR] Errors:
[ERROR] LeaseTest.beforeClass:78 » DockerClient Could not pull image: no matching mani...
[INFO]
[ERROR] Tests run: 3, Failures: 0, Errors: 1, Skipped: 2
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 11.971 s
[INFO] Finished at: 2020-05-08T07:14:38+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.1:test (default-test) on project dubbo-remoting-etcd3: There are test failures.
[ERROR]
[ERROR] Please refer to /home/Dubbo/dubbo-dubbo-2.7.5/dubbo-remoting/dubbo-remoting-etcd3/target/surefire-reports for the individual test results.
[ERROR] Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

使用webservice协议进行多个服务注册时获取wsdl有问题

  • I have searched the issues of this repository and believe that this is not a duplicate.
  • I have checked the FAQ of this repository and believe that this is not a duplicate.

Environment

  • Dubbo version: 2.7.7
  • Operating System version: macOS
  • Java version: 1.8.0_241

Steps to reproduce this issue

  1. 使用webservice协议发布服务,cxf版本为3.1.15,启动时,WebServiceProtocol中,每一个服务创建一个server,但是Handle方法中默认获取的是最后一个server,导致访问wsdl时,只有最后一个注册的服务可以访问,其他服务无法访问到。
    2.如果将serverFactoryBean或者server换成list,正常。

Pls. provide [GitHub address] to reproduce this issue.
https://github.com/apache/dubbo/blob/master/dubbo-rpc/dubbo-rpc-webservice/src/main/java/org/apache/dubbo/rpc/protocol/webservice/WebServiceProtocol.java

Expected Result

What do you expected from the above steps?

Actual Result

What actually happens?

If there is an exception, please attach the exception trace:

Just put your stack trace here!

Extend rpc rmi service

  • I have searched the issues of this repository and believe that this is not a duplicate.
  • I have checked the REAMDE of this repository and believe that this is not a duplicate.

Make dubbo3 support rmi protocol.

Extend rpc http service

  • I have searched the issues of this repository and believe that this is not a duplicate.
  • I have checked the REAMDE of this repository and believe that this is not a duplicate.

Make dubbo3 support http protocol.

Extend protostuff serialization

  • I have searched the issues of this repository and believe that this is not a duplicate.
  • I have checked the REAMDE of this repository and believe that this is not a duplicate.

Make dubbo3 support protostuff serialization.

Extend fastjson serialization

  • I have searched the issues of this repository and believe that this is not a duplicate.
  • I have checked the REAMDE of this repository and believe that this is not a duplicate.

Make dubbo3 support fastjson serialization.

Extend rpc thrift service

  • I have searched the issues of this repository and believe that this is not a duplicate.
  • I have checked the REAMDE of this repository and believe that this is not a duplicate.

Make dubbo3 support thrift protocol.

while springcloudAlibaba combine to DubboApiDocs has some problem

  • I have searched the issues of this repository and believe that this is not a duplicate.
  • I have checked the REAMDE of this repository and believe that this is not a duplicate.

Environment

  • Dubbo version: 2.7.8
  • Operating System version: macOS Catalina
  • Java version: jdk8
  • Module name: my-demo

Steps to reproduce this issue

  1. add SpringCloudAlibaba
  2. add SpringCloudAlibaba Dubbo Stater (gav: G: com.alibaba.cloud A: spring-cloud-starter-dubbo V: 2.2.2.RELEASE)
  3. add DubboAPiDocs like README says
    3.1. add @EnableDubboApiDocs on my bootStateApplication with @SpringBootApplication
    3.2. add @ApiModule on My DubboService and Add @apidoc on my DubboServiceApi and Add @RequestParam on my DubboService Serializable DomainDTO
  4. start Application

Expected Result

In Application Start, DubboApiDocs will expose Annotation for DubboApiDubboServer

Actual Result

Its Blocked in Application Start. I hope in DubboApiDocsServer see my DubboApi

Application Start Trace:

***************************
APPLICATION FAILED TO START
***************************

Description:

Field registry in org.apache.dubbo.apidocs.core.DubboApiDocsAnnotationScanner required a single bean, but 2 were found:
	- defaultSpringCloudRegistryConfig: defined by method 'defaultSpringCloudRegistryConfig' in class path resource [com/alibaba/cloud/dubbo/autoconfigure/DubboServiceRegistrationAutoConfiguration.class]
	- org.apache.dubbo.config.RegistryConfig#0: defined in null


Action:

Consider marking one of the beans as @Primary, updating the consumer to accept multiple beans, or using @Qualifier to identify the bean that should be consumed

2.7.8.3版本下,从dubboAdmin加载api接口会报错,切换到2.7.8.2版本下没问题

  • I have searched the issues of this repository and believe that this is not a duplicate.
  • I have checked the REAMDE of this repository and believe that this is not a duplicate.

Environment

  • Dubbo version: 2.7.8
  • Operating System version: xxx
  • Java version: jdk1.8
  • Module name: dubbo-api-docs

Steps to reproduce this issue

  1. 本地启动提供者工程,在dubboAdmin输入了ip和port,提供者的后台报错:
    QQ截图20210702153448

debug发现是这个地方缺少了IdubboDocProvider的key,在2.7.8.2版本是存在的
image

Pls. provide [GitHub address] to reproduce this issue.

Expected Result

期望:本版本可以兼容,顺利得到api接口文档返回

Extend protobuf serialization

  • I have searched the issues of this repository and believe that this is not a duplicate.
  • I have checked the REAMDE of this repository and believe that this is not a duplicate.

Make dubbo3 support protobuf serialization.

support rocketmq request-reply mode

Rocketmq already support request-reply mode since 4.6,how about add a rocketmq plugin in dubbo-remoting,so that a rocketmq consumer can expose a service to dubbo registry and can be invoked by a dubbo consumer.

Extend avro serialization

  • I have searched the issues of this repository and believe that this is not a duplicate.
  • I have checked the REAMDE of this repository and believe that this is not a duplicate.

Make dubbo3 support avro serialization.

Polaris registry support

What would you like to be added:

i hope dubbo registry can support polaris

Why is this needed:

i hope dubbo registry can support polaris

Add readme for dubbo-mock-extensions module

  • I have searched the issues of this repository and believe that this is not a duplicate.
  • I have checked the REAMDE of this repository and believe that this is not a duplicate.

Is your feature request related to a problem? Please describe.

No

Describe the solution you'd like

Add readme for dubbo-mock-extensions module

Describe alternatives you've considered

No

Additional context

No

[Code quality] simple the URL build logic in AdminMockFilter.

  • I have searched the issues of this repository and believe that this is not a duplicate.
  • I have checked the REAMDE of this repository and believe that this is not a duplicate.

Description

The logic of building URL in AdminMockFilter is too much complex. simple the building logic.

ReferenceConfig<MockService> mockServiceConfig = new ReferenceConfig<>();
mockServiceConfig.setCheck(false);
mockServiceConfig.setInterface(MockService.class);
mockServiceConfig.setRegistries(DubboBootstrap.getInstance().getConfigManager().getDefaultRegistries());
List<URL> urls = ConfigValidationUtils.loadRegistries(mockServiceConfig, false);
if (CollectionUtils.isEmpty(urls)) {
return null;
}
// build the URL parameters
URL url = urls.get(0);
Map<String, String> map = new HashMap<>();
ReferenceConfigBase.appendRuntimeParameters(map);
map.put(INTERFACE_KEY, MockService.class.getName());
map.put(SIDE_KEY, CONSUMER_SIDE);
AbstractConfig.appendParameters(map, mockServiceConfig.getMetrics());
AbstractConfig.appendParameters(map, mockServiceConfig.getApplication());
AbstractConfig.appendParameters(map, mockServiceConfig.getModule());
AbstractConfig.appendParameters(map, mockServiceConfig);
url = url.putAttribute(REFER_KEY, map);

[Feature] Dubbo admin mock plugin base on dubbo 3.x.

  • I have searched the issues of this repository and believe that this is not a duplicate.
  • I have checked the REAMDE of this repository and believe that this is not a duplicate.

Is your feature request related to a problem? Please describe.

apache/dubbo-admin#757

Describe the solution you'd like

add the dubbo admin mock plugin for develop, you can see the feature description in apache/dubbo-admin#757.

Describe alternatives you've considered

no

Additional context

no

After adding group attribute in @DubboService annotation, the test interface reports an error

  • I have searched the issues of this repository and believe that this is not a duplicate.
  • I have checked the REAMDE of this repository and believe that this is not a duplicate.

Environment

  • Dubbo version: 2.7.8
  • Operating System version: win10
  • Java version: 1.8
  • Module name: dubbo-api-docs

Steps to reproduce this issue

After adding group attribute in @DubboService annotation, the test interface reports an error

Expected Result

The interface can be tested normally with "group"

Actual Result

dubbo-api-docs does not support group at present

Dubbo-Doc无法兼容SpringCloudAlibaba

开发环境

  • dubbo-2.7.8
  • dubbo-api-docs-2.7.8.3
  • springcloud-alibaba-2.2.6.RELEASE

问题描述

SpringCloudAlibaba整合dubbo的接口文档,出现bean重复。

异常信息

***************************
APPLICATION FAILED TO START
***************************

Description:

Field registry in org.apache.dubbo.apidocs.core.DubboApiDocsAnnotationScanner required a single bean, but 2 were found:
	- defaultSpringCloudRegistryConfig: defined by method 'defaultSpringCloudRegistryConfig' in class path resource [com/alibaba/cloud/dubbo/autoconfigure/DubboServiceRegistrationAutoConfiguration.class]
	- org.apache.dubbo.config.RegistryConfig#0: defined in null


Action:

Consider marking one of the beans as @Primary, updating the consumer to accept multiple beans, or using @Qualifier to identify the bean that should be consumed

Extend rpc webservice service

  • I have searched the issues of this repository and believe that this is not a duplicate.
  • I have checked the REAMDE of this repository and believe that this is not a duplicate.

Make dubbo3 support webservice protocol.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.