Commit Graph

12 Commits

Author SHA1 Message Date
jean pierre Lerbscher 00812ce41c
Fix Sonar issue s2293 The diamond operator ('<>') should be used (#14005) 2024-03-29 11:40:06 +08:00
huazhongming 730695a7a2
[3.2]Use spotless to format the code (#13320)
* Use spotless to format the code

Signed-off-by: crazyhzm <crazyhzm@gmail.com>

* Support develop with JDK 21

Signed-off-by: crazyhzm <crazyhzm@gmail.com>

---------

Signed-off-by: crazyhzm <crazyhzm@gmail.com>
2023-11-07 15:40:13 +08:00
Albumen Kevin ed6afe1ac3
Use bom mode flatten (#12239)
* Use bom mode flatten

* Use oss

* fix properties

* Fix bom

* Fix zk conflicts

* Fix zk conflicts

* Fix logger

* Fix logger
2023-05-08 07:42:49 +08:00
suncairong163 912deb69a8
Feature/3.2 rest protocol provider (#11640) 2023-04-05 14:10:53 +08:00
suncairong163 02a59e2f40
3.2 consumer proxy invocation handler (#11108)
* add dubbo mvc feign client to support mvc remote call

* add dubbo mvc dispatcher servlet

* add dubbo mvc dispatcher servlet

* add   MvcDispatcherServlet  unit test

* add dubbo mvc feign client to support mvc remote call

* add dubbo mvc dispatcher servlet

* add Dubbo mvc Provider RPCInvocation create

* mvc remove unused code

* remove mvc unused test code

* remove unused code

* BodyProviderParamParser param type modify

* modify pom dependency version

* add  dubbo-metadata-api  dependency

* 新增依赖Jakarta支持 tomcat10

* ApplicationModel load  ParamParser

* ParamParser header & param map convert

* ParamParser header & param map convert

* 1 增加mvc协议
2 删除多余的resource包

* 1 增加mvc协议
2 增加netter server for http

* 重构 NettyHttpClient NettyHttpServer

* add path parse util & requestTemplate

* add mvc consumer http-connection

* mvc change  HttpConnectionPreBuildIntercept name and add SerializeBodyIntercept extend

* 1. 迁移mvc代码到rest下,合并http统一解析逻辑
2. 删除多余新增的remoting 调用模块

* 解决报错

* 1 抽象http 调用
2 改造rest调用风格

* 修改方法命名

* 修改方法名

* 删除多余的clients

* 还原restprotocol,逻辑迁移至新分支  3.2_refactor_rest_protocol

* add provider  PathMatcher

* add   ServiceRestMetadata  PathMatcher

* add   ServiceRestMetadata  PathMatcher

* add jax_rs and mvc annotation class constants

* refactor PathMatcher name

* add annotation class

* maintain rest metadata

* maintain  jax_rs and mvc annotation

* maintain  jax_rs and mvc annotation

* remove mvc module

* remove rest mvc code to code review

* add springmvc & rest annotation api module

* add springmvc & rest annotation api module

* add pathMatcher equal  test

* remove mvc module

* rest provider RPCInvocation build

* RPCInvocation build add dubbo-metadata-api dependency

* RestMethodMetadata add method to consumer service map

* RestMethodMetadata add method to consumer service map

* rest consumer HttpInvokeInvocationHandler

* rest consumer HttpInvokeInvocationHandler

* add dubbo-metadata-api dependency

* dubbo-rpc pom fix

* 移动模块

* 删除模块引用

* consumer metadata  resolve

* RestProtocol consumer

* RestProtocol consumer

* requestConvert adaptive

* JSON serializeObject to outputStream

* JsonUtilsTest  serialize & unSerialize

* ok http client

* http client reconstruct

* rest protocol BaseConvert

* rest protocol  ParamParser reconstruct

* rest protocol  addKeepAliveHeader

* requestTemplate isBodyEmpty()

* remove unused code

* create ConsumerParseContext

* body default byte[0]

* rest http message decode

* writeTextContent &  writeJsonContent & writeFormContent

* remove mvc & rest annotation module

* remove provider code

* fix some pr advice

* Add ASF license header for  newly created files

* move RestClientFactory  code  to dubbo-remoting-http

* exact  request convert code to a factory class

* modify  request convert code

* modify dubbo-dependencies-bom

* modify dubbo-remoting-http pom

* refactor spi  resource file  name

* dubbo-metadata-api remove
dubbo-configcenter-zookeeper dependency for
 cyclic reference

* newly create file add ASF

* fix compile error

* Enhance Code

* add rest protocol ConsumerParamParser

* some fix

* rest json content-type test

* RestProtocol merge doRefer code to protocolBindingRefer

* remove restInvoker

* rest protocol add JsonFactory to support custom

* rest protocol add JsonFactory to support custom

* jaxrs rest ParamNoAnnotatedProcessor  support fix

* add rest http message encode

* add rest http message encode

* rest okHttpClient requestBody fix

* rest jaxrs form content-type support

* RestProtocol protocolBindingRefer reconstruct

* RestProtocol protocolBindingRefer reconstruct  object to invoker & Invocation

* move RequestTemplate to remoting-http

* rest unit test

* add httpclient  & url connection rest client

* Enhance invocation

* enhance

* add ParameterTypesComparator  for metadataMap

* add ASF for new file

* Fix conflict

* Fix header

* fix import

* fix import

* fix import

* fix import

* fix import

* Fix json

* revert some change

* Remove jsonfactory

* Remove jsonfactory

* Simplify rest client

* Fix protocol

* fix codec

* tmp disable test

* rest metadata resolver add  interface judge

* add rest metadata  resolve unit test & fix  AbstractServiceRestMetadataResolver

* org.apache.dubbo.metadata.rest.ParamType null exclude & add default accept header

* RestProtocolTest

refer add context path
unit test

* some fix

* ADD TODO

* RESOLVE HTTP client java.net.SocketException: socket closed

* RESOLVE HTTP client java.net.SocketException: socket closed

* add spring mvc rest protocol unit test

* rest protocol http response code deal

* rest protocol http response message

* fix some review advice

* fix some review advice

* add rest metadata  resolve unit test & fix  AbstractServiceRestMetadataResolver

* org.apache.dubbo.metadata.rest.ParamType null exclude & add default accept header

* RestProtocolTest

refer add context path
unit test

* some fix

* fix some review advice

* add spring mvc rest protocol unit test

* rest protocol http response code deal

* rest protocol http response message

* URLConnectionRestClient getMessage

* remove unused import

* import fix

* code merge

* code merge

* code merge

* code merge

* code merge

* Fix conflicts

* change  restResult InputStream to bytes protect from  fd leak

* merge code

* Fix import

* Fix import

* Fix uts

* Remove unused code

* Fix logger

* Update okhttp version

* Update okhttp version

* rest protocol  add AnotherUserRestService service ut

* rest protocol  add String & byteArray codec

* Fix version

* Fix uts

* rest protocol  add XMLCodec

* stream release

* ServiceRestMetadata port change int to Integer

* service RestMetadata service map init

* xml codec change  for xxe

* Fix import

* code style

* code style

* Fix shade

---------

Co-authored-by: suncr <suncairong@moresec.cn>
Co-authored-by: Liujunjie <42363259+LiujunjieALiling@users.noreply.github.com>
Co-authored-by: junjie3.liu <junjie3.liu@ximalaya.com>
Co-authored-by: Albumen Kevin <jhq0812@gmail.com>
2023-02-22 14:02:16 +08:00
Weix Sun 423f4ec209
Support for Spring Framework 6 and Spring Boot 3 (#10941) 2022-11-22 10:51:39 +08:00
Pin Xiong 34698423ca
perf: Clear all TestingServer and replace it with global registry center. (#9231) 2021-11-17 20:05:53 +08:00
Pin Xiong b06e5c2fdb
[Feature] Support the global registry center in unit tests (#9138) 2021-11-06 18:19:06 +08:00
Gong Dewei 1bdf359b1a
[3.0] Manage global resources and executor services, fix zk client connections (#9033)
* shutdown scheduledExecutors and executorServiceRing

* fix NPE of configuration

* Fix notify loop after executor service is shutdown

* improve registry center in tests

* polish unregister shutdown hook log

* Fix systemConfiguration NPE

* enable surefire reuseForks for fast testing

* Fix checking DubboShutdownHook is alive

* fix SPI/Bean instantiation constructor matching

* shutdown share executor

* release zk client

* Improve application destroy processing

* Add GlobalResourcesRepository to manager static resources, including ExecutorService and HashedWheelTimer

* revert zk client address mapping

* Fix zk client early close problem

* improve executor service

* improve both start by module and by application

* release sharedScheduledExecutor and fix AccessLogFilter

* Fix tests

* checking zk registry if destroyed

* fix testSystemPropertyOverrideReferenceConfig config error

* improve KeepRunningOnSpringClosedTest

* SPI extension/scope bean prefers parameterized constructor instead of default constructor

* Support compatible usage of ZookeeperRegistryFactory

* Improve the application/module destroy process, the deployer destruction is divided into pre-destroy and post-destroy

* Destroy NacosDynamicConfiguration

* Destroy MetadataReportFactory

* Recreate adaptive classes

* Destroy global resources on dubbo shutdown

* Fix zk thread leaks when create client failed

* Improve protocol destroying

* Improve thread name of protocol port

* Manage global EventLoopGroup, HashedWheelTimer, etc.

* Protected metadata info in memory

* Support checking unclosed threads when finish test class

* Improve application check started

* add test log4j.properties

* add pom.xml of dubbo-test-check

* fix CodecSupport.checkSerialization error

* Fix ReferenceCountExchangeClientTest log msg checking

* Fix ServiceInstanceMetadataUtilsTest and MigrationInvokerTest

* Fix protocol destroy problem

* rename test check jvm args

* cancel asyncMetadataFuture and unregisterServiceInstance in pre-destroy application

* Ignore refresh metadata if application is stopping

* Remove unused destroyDynamicConfigurations method

* Change ZookeeperTransporter to application scope

* Add testMultiProviderApplicationsStopOneByOne

* Destroy ZookeeperTransporter in RemotingScopeModelInitializer

* support specify test check report file
2021-10-19 10:11:53 +08:00
Xiong, Pin 7ffa53ad0f
fixes: Try to reduce the time consuming in UT (#8686)
* fixes: Try to reduce the time consuming in UT

1. Replace ZookeeperServer with ZookeeperSingleRegistryCenter
2. Split the testcase of GenericServiceTest#testGeneric

* fixes: update the scope of maven dependency

* fixes: Update the parameters of zookeeper

* perf: Upgrade the version of curator-framework and remove Thread.sleep in UT

* Recover the previous code in ArgumentCallbackTest#TestCallbackNormalWithBindPort

* Recover the previous code in ArgumentCallbackTest#TestCallbackMultiInstans
2021-09-06 22:46:53 +08:00
Gong Dewei ea151d0f51
[3.0] New service repository support for multi instance (#8669)
* Add ExtensionDirector and Models

* Fix access static getter method of ApplicationModel

* Replace ExtensionFactory with ExtensionInjector

* specify scope of some SPIs

* Support scoped injection for extension

* improve create extension loader logic

* Add ScopeModel and ScopeBeanFactory, fix extension initialization of XxxConfig

* polish doc of scope model

* Extract FrameworkStatusReportService from FrameworkStatusReporter

* Fix application model of default bootstrap instance

* Pass scope model through URL

* Fix scope model of registry, metadata, cluster and so on

* exact ServiceModel from ProviderModel and ConsumerModel

* Add ASF license header for ScopeBeanFactoryInitializer

* Remove unused import

* Remove unused import

* Fix ut in ConfigManagerTest

* Change default Scope Behave

* Resolve recursive creation of Scope Model

* Fix inject default model when scope is parent

* Fix inject default model when scope is parent

* Compact with url without ScopeModel

* Change HttpBinder Scope

* Change some SPIs' scope

* Fix setApplicationModel override issue of MetadataServiceNameMapping

* Default inject ScopeModel in ConfigManager

* Add default Scope for AbstractConfig when init

* Fix field override & Fix ut env

* Fix zk not startup in DubboBootstrapMultiInstanceTest

* Fix ExtensionAccessor not inject in UT of MetricsFilterTest

* Compact old style getName

* Fix UT in DNSServiceDiscoveryTest

* Compact old style ApplicationModel

* Fix UT in DNSServiceDiscoveryTest

* Fix repository changed after ApplicationModel destroyed

* Fix SpringExtensionInjector pollution in UT

* Pass ApplicationModel in ServiceInstance

* reintroduce metadata delay key

* Add Transient on ApplicationModel getter of DefaultServiceInstance

* Fix Configurator Listener in Singleton mode override issue

* Fix Configurator Listener in Singleton mode override issue

* Compact old style getApplication

* Invocation pass ServiceModel

* Compact old style registerConsumer

* Fix NPE in RpcInvocation

* Add ServiceModel pass when init

* Fix ServiceModel cast error

* Add ServiceModel pass when invoke

* Fix NPE when simplify registry url

* Revert "Resolve recursive creation of Scope Model"

This reverts commit 37a99957

* Improve scope model aware

* polish scope model

* Cleanup ApplicationModel.defaultModel usage

* Fix ut

* Compatible with 2.6 Registry

* Fix ut

* Add Callback Service build ProviderModel

* improve scope model of config bean

* Fix scope model of reference/service model

* Revert CallbackServiceCodec for dev

* Fix scope model NPE

* Fix consumer url NPE

* Add Callback Service build ProviderModel

* Fix NPE when destroy

* Fix ut

* pick from Add Callback Service build ProviderModel (b47b2777f9)

* add failback logic for ut

* Fix ut

* Add Scope Model check

* Fix adaptive spi extension loading

* update adaptive classes

* Split ServiceRepository

* Fix apache license

* Fix UT

* Fix uts

* Fix DubboCodec

* Fix ut in DubboBootstrapTest

* Fix ut in DubboBootstrapTest

* Suspend register duplicate providers error

* Improve get unwrapped extension

* Fix GenericServiceTest

* Destroy all protocols in DubboBootstrap.reset()

* Add --no-snapshot-updates and -fae for test fail safe

* Fix uts

* Reset ApplicationModel Before Test

* Improve scope model initialization

* Support instantiating spi/bean constructor with scope model parameters

* change to fail never mode (-fn)

* get unwrapped instance of DubboProtocol

* Change referenced config's scope model after scope model changed

* Change referenced config's scope model after scope model changed

* Fix NPE of setScopeMode

* change to fail-at-end (-fae) mode

* Fix change scope model error

* Avoid duplicate destroy model

* Fix LocalCallMultipleReferenceAnnotationsTest

* Avoid injection bean type of java.lang.Object

* change to fail fast mode

Co-authored-by: Albumen Kevin <jhq0812@gmail.com>
2021-09-03 21:00:47 +08:00
Gong Dewei 649dc5b396
[3.0] compatible with spring 3.2.x and add tests (#8430)
* compatible with spring 3.2.x and add tests

* add licence

* polish spring tests, fix compatible issue of spring 4.1

* polish code

* add skip_maven_deploy

* adjust spring test module

* polish log

* remove unused imports

* Fix NPE
2021-08-10 11:25:11 +08:00