实例介绍
dubbox-master dubbo 源码 v2.8.4 ,从阿里官方github上下载下来的,修改部分代码,可以直接在eclipse和IDEA上运行
【实例截图】
【核心代码】
dubbox-master
└── dubbox-master
├── dubbo
│ ├── pom.xml
│ └── readme.txt
├── dubbo-admin
│ ├── pom.xml
│ └── src
│ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── alibaba
│ │ │ └── dubbo
│ │ │ ├── governance
│ │ │ │ ├── biz
│ │ │ │ │ └── common
│ │ │ │ │ └── i18n
│ │ │ │ │ ├── impl
│ │ │ │ │ │ └── MessageResourceServiceImpl.java
│ │ │ │ │ └── MessageResourceService.java
│ │ │ │ ├── PageContext.java
│ │ │ │ ├── service
│ │ │ │ │ ├── ConfigService.java
│ │ │ │ │ ├── ConsumerService.java
│ │ │ │ │ ├── impl
│ │ │ │ │ │ ├── AbstractService.java
│ │ │ │ │ │ ├── ConfigServiceImpl.java
│ │ │ │ │ │ ├── ConsumerServiceImpl.java
│ │ │ │ │ │ ├── OverrideServiceImpl.java
│ │ │ │ │ │ ├── OwnerServiceImpl.java
│ │ │ │ │ │ ├── ProviderServiceImpl.java
│ │ │ │ │ │ ├── RouteServiceImpl.java
│ │ │ │ │ │ └── UserServiceImpl.java
│ │ │ │ │ ├── OverrideService.java
│ │ │ │ │ ├── OwnerService.java
│ │ │ │ │ ├── ProviderService.java
│ │ │ │ │ ├── RouteService.java
│ │ │ │ │ └── UserService.java
│ │ │ │ ├── status
│ │ │ │ │ ├── DatabaseStatusChecker.java
│ │ │ │ │ ├── LoadStatusChecker.java
│ │ │ │ │ └── MemoryStatusChecker.java
│ │ │ │ ├── sync
│ │ │ │ │ ├── RegistryServerSync.java
│ │ │ │ │ └── util
│ │ │ │ │ ├── Pair.java
│ │ │ │ │ └── SyncUtils.java
│ │ │ │ └── web
│ │ │ │ ├── common
│ │ │ │ │ ├── auth
│ │ │ │ │ │ └── DubboUser.java
│ │ │ │ │ ├── i18n
│ │ │ │ │ │ └── LocaleUtil.java
│ │ │ │ │ ├── interceptor
│ │ │ │ │ │ ├── AuthorizationValve.java
│ │ │ │ │ │ ├── LocaleValve.java
│ │ │ │ │ │ ├── RestfuleUrlRewriter.java
│ │ │ │ │ │ └── ServicePrivilegeCheckValve.java
│ │ │ │ │ ├── module
│ │ │ │ │ │ └── screen
│ │ │ │ │ │ ├── Error_404.java
│ │ │ │ │ │ ├── Error_other.java
│ │ │ │ │ │ └── Restful.java
│ │ │ │ │ ├── pulltool
│ │ │ │ │ │ ├── DateFormatUtil.java
│ │ │ │ │ │ ├── I18nMessageTool.java
│ │ │ │ │ │ ├── RootContextPath.java
│ │ │ │ │ │ ├── Tool.java
│ │ │ │ │ │ └── ToolUtil.java
│ │ │ │ │ ├── resolver
│ │ │ │ │ │ ├── MapDataResolverFactory.java
│ │ │ │ │ │ └── ParameterMap.java
│ │ │ │ │ └── utils
│ │ │ │ │ └── RelateUserUtils.java
│ │ │ │ ├── governance
│ │ │ │ │ └── module
│ │ │ │ │ └── screen
│ │ │ │ │ ├── Accesses.java
│ │ │ │ │ ├── Addresses.java
│ │ │ │ │ ├── Applications.java
│ │ │ │ │ ├── Consumers.java
│ │ │ │ │ ├── Loadbalances.java
│ │ │ │ │ ├── NoServicePrivilege.java
│ │ │ │ │ ├── Overrides.java
│ │ │ │ │ ├── Owners.java
│ │ │ │ │ ├── Providers.java
│ │ │ │ │ ├── Routes.java
│ │ │ │ │ ├── Services.java
│ │ │ │ │ └── Weights.java
│ │ │ │ ├── home
│ │ │ │ │ └── module
│ │ │ │ │ ├── control
│ │ │ │ │ │ └── Menu.java
│ │ │ │ │ └── screen
│ │ │ │ │ ├── Disable.java
│ │ │ │ │ ├── Index.java
│ │ │ │ │ ├── Lookup.java
│ │ │ │ │ ├── Register.java
│ │ │ │ │ ├── Reg.java
│ │ │ │ │ ├── Restful.java
│ │ │ │ │ ├── Result.java
│ │ │ │ │ ├── Servicestatus.java
│ │ │ │ │ ├── Shell.java
│ │ │ │ │ ├── Status.java
│ │ │ │ │ ├── Unregisterall.java
│ │ │ │ │ ├── Unregister.java
│ │ │ │ │ └── Unreg.java
│ │ │ │ ├── personal
│ │ │ │ │ └── module
│ │ │ │ │ └── screen
│ │ │ │ │ ├── Infos.java
│ │ │ │ │ └── Passwds.java
│ │ │ │ ├── sysinfo
│ │ │ │ │ └── module
│ │ │ │ │ └── screen
│ │ │ │ │ ├── Dump.java
│ │ │ │ │ ├── Dumps.java
│ │ │ │ │ ├── Envs.java
│ │ │ │ │ ├── Logs.java
│ │ │ │ │ ├── Statuses.java
│ │ │ │ │ └── Versions.java
│ │ │ │ ├── sysmanage
│ │ │ │ │ └── module
│ │ │ │ │ └── screen
│ │ │ │ │ ├── Configs.java
│ │ │ │ │ ├── Privileges.java
│ │ │ │ │ └── Userown.java
│ │ │ │ └── util
│ │ │ │ ├── ContextUtil.java
│ │ │ │ ├── GovernanceWarmup.java
│ │ │ │ ├── Paginator.java
│ │ │ │ ├── UrlUtils.java
│ │ │ │ └── WebConstants.java
│ │ │ └── registry
│ │ │ └── common
│ │ │ ├── ChangeListener.java
│ │ │ ├── domain
│ │ │ │ ├── Access.java
│ │ │ │ ├── Agreement.java
│ │ │ │ ├── Approval.java
│ │ │ │ ├── ApprovalRequisition.java
│ │ │ │ ├── Change.java
│ │ │ │ ├── Cluster.java
│ │ │ │ ├── Config.java
│ │ │ │ ├── Consumer.java
│ │ │ │ ├── Dependency.java
│ │ │ │ ├── DependItem.java
│ │ │ │ ├── Document.java
│ │ │ │ ├── Entity.java
│ │ │ │ ├── Favorite.java
│ │ │ │ ├── Feature.java
│ │ │ │ ├── Layer.java
│ │ │ │ ├── LoadBalance.java
│ │ │ │ ├── Mock.java
│ │ │ │ ├── Operation.java
│ │ │ │ ├── Override.java
│ │ │ │ ├── Owner.java
│ │ │ │ ├── PageList.java
│ │ │ │ ├── Provider.java
│ │ │ │ ├── Registry.java
│ │ │ │ ├── Route.java
│ │ │ │ ├── SearchHistory.java
│ │ │ │ ├── Test.java
│ │ │ │ ├── User.java
│ │ │ │ └── Weight.java
│ │ │ ├── registry
│ │ │ │ └── ConvertUtil.java
│ │ │ ├── route
│ │ │ │ ├── OverrideUtils.java
│ │ │ │ ├── ParseUtils.java
│ │ │ │ ├── RouteRule.java
│ │ │ │ ├── RouteRuleUtils.java
│ │ │ │ └── RouteUtils.java
│ │ │ ├── status
│ │ │ │ ├── DatabaseStatusChecker.java
│ │ │ │ ├── LoadStatusChecker.java
│ │ │ │ └── MemoryStatusChecker.java
│ │ │ ├── StatusManager.java
│ │ │ └── util
│ │ │ ├── Coder.java
│ │ │ ├── Entities.java
│ │ │ ├── IntHashMap.java
│ │ │ ├── LocaleUtils.java
│ │ │ ├── MessageSource.java
│ │ │ ├── OverrideUtils.java
│ │ │ ├── StringEscapeUtils.java
│ │ │ └── Tool.java
│ │ ├── resources
│ │ │ └── META-INF
│ │ │ └── spring
│ │ │ └── dubbo-admin.xml
│ │ └── webapp
│ │ ├── crossdomain.xml
│ │ ├── css
│ │ │ ├── common.css
│ │ │ ├── dubbo.css
│ │ │ └── skin.css
│ │ ├── favicon.ico
│ │ ├── images
│ │ │ ├── 404error.gif
│ │ │ ├── bg01.gif
│ │ │ ├── bg02.gif
│ │ │ ├── bg03.gif
│ │ │ ├── bg04.gif
│ │ │ ├── btn_info.png
│ │ │ ├── btn_service.png
│ │ │ ├── button_hover.png
│ │ │ ├── button_normal.png
│ │ │ ├── co_01.gif
│ │ │ ├── co_02.gif
│ │ │ ├── co_03.gif
│ │ │ ├── co_04.gif
│ │ │ ├── dog.gif
│ │ │ ├── dubbo_list_th.png
│ │ │ ├── exit.png
│ │ │ ├── fav_arrow.png
│ │ │ ├── fav_tab_active.png
│ │ │ ├── fav_tab_normal.png
│ │ │ ├── fav_title.png
│ │ │ ├── head_bg.png
│ │ │ ├── ico_add.png
│ │ │ ├── ico_back.png
│ │ │ ├── ico_balance.png
│ │ │ ├── ico_cancel.png
│ │ │ ├── ico_delete.png
│ │ │ ├── ico_disable.png
│ │ │ ├── ico_down.png
│ │ │ ├── ico_edit.png
│ │ │ ├── ico_enable.png
│ │ │ ├── ico_error.png
│ │ │ ├── ico_favorite.png
│ │ │ ├── ico_forb.png
│ │ │ ├── ico_graph.png
│ │ │ ├── ico_help.png
│ │ │ ├── ico_list.png
│ │ │ ├── ico_password.png
│ │ │ ├── ico_reconnect.png
│ │ │ ├── ico_recover.png
│ │ │ ├── ico_register.png
│ │ │ ├── ico_reload.png
│ │ │ ├── ico_renotify.png
│ │ │ ├── ico_run.png
│ │ │ ├── ico_save.png
│ │ │ ├── ico_search.png
│ │ │ ├── ico_show.png
│ │ │ ├── ico_subscribe.png
│ │ │ ├── ico_tree.png
│ │ │ ├── ico_up.png
│ │ │ ├── ico_user.png
│ │ │ ├── ico_warn.png
│ │ │ ├── input.png
│ │ │ ├── login_bg.png
│ │ │ ├── login_box.png
│ │ │ ├── login_btn_hover.png
│ │ │ ├── login_btn_normal.png
│ │ │ ├── login_shadow.png
│ │ │ ├── logo.png
│ │ │ ├── main_bg.png
│ │ │ ├── nav_bg.png
│ │ │ ├── nav_btn_bg22.png
│ │ │ ├── nav_btn_bg33.png
│ │ │ ├── nav_btn_bg3.png
│ │ │ ├── nav_btn_bg44.png
│ │ │ ├── nav_pass.png
│ │ │ ├── nav_selected.png
│ │ │ ├── pop_close.png
│ │ │ ├── pop_leftbottom.png
│ │ │ ├── pop_left.png
│ │ │ ├── pop_lefttop_small.png
│ │ │ ├── pop_midbottom.png
│ │ │ ├── pop_midtop_small.png
│ │ │ ├── pop_rightbottom.png
│ │ │ ├── pop_right.png
│ │ │ ├── pop_righttop_small.png
│ │ │ ├── search_active.png
│ │ │ ├── search_btn.png
│ │ │ ├── search_global_m.png
│ │ │ ├── search_input.png
│ │ │ ├── search_line.png
│ │ │ ├── tab_active.png
│ │ │ ├── table_title_bg.png
│ │ │ ├── Thumbs.db
│ │ │ ├── tip_choose.png
│ │ │ ├── tip_confirm.png
│ │ │ ├── tip_del.png
│ │ │ ├── tip_succeed.png
│ │ │ ├── tree-blank.gif
│ │ │ ├── tree-down.gif
│ │ │ ├── tree-down-left.gif
│ │ │ ├── tree-left-up.gif
│ │ │ ├── tree-right-down.gif
│ │ │ ├── tree-up.gif
│ │ │ └── tree-up-right.gif
│ │ ├── js
│ │ │ ├── ajax.js
│ │ │ ├── box.js
│ │ │ ├── dubbo.js
│ │ │ ├── jquery-1.4.2.min.js
│ │ │ ├── jquery.hoverIntent.js
│ │ │ ├── jquery.simplemodal-1.4.js
│ │ │ ├── menu.js
│ │ │ ├── pop.js
│ │ │ └── trcolor.js
│ │ ├── META-INF
│ │ │ └── autoconf
│ │ │ ├── auto-config.xml
│ │ │ ├── dubbo.properties.vm
│ │ │ ├── log4j.xml
│ │ │ ├── resources.xml
│ │ │ └── web.xml.vm
│ │ ├── SpryAssets
│ │ │ ├── SpryValidationRadio.css
│ │ │ └── SpryValidationRadio.js
│ │ └── WEB-INF
│ │ ├── common
│ │ │ ├── pipeline-exception.xml
│ │ │ ├── pipeline-rpc.xml
│ │ │ ├── pipeline.xml
│ │ │ ├── resources.xml
│ │ │ ├── rewrite.xml
│ │ │ ├── uris.xml
│ │ │ ├── webx-component-and-root.xml
│ │ │ └── webx-component.xml
│ │ ├── dubbo.properties
│ │ ├── forms
│ │ │ └── provider.xml
│ │ ├── i18n
│ │ │ ├── message_en.properties
│ │ │ ├── message_zh.properties
│ │ │ └── message_zh_TW.properties
│ │ ├── log4j.xml
│ │ ├── templates
│ │ │ ├── common
│ │ │ │ └── screen
│ │ │ │ ├── error_404.vm
│ │ │ │ └── error_other.vm
│ │ │ ├── governance
│ │ │ │ ├── layout
│ │ │ │ │ ├── default.vm
│ │ │ │ │ ├── noServicePrivilege.vm
│ │ │ │ │ ├── redirect.vm
│ │ │ │ │ └── search.vm
│ │ │ │ └── screen
│ │ │ │ ├── accesses
│ │ │ │ │ ├── add.vm
│ │ │ │ │ └── index.vm
│ │ │ │ ├── addresses
│ │ │ │ │ ├── index.vm
│ │ │ │ │ └── search.vm
│ │ │ │ ├── applications
│ │ │ │ │ ├── index.vm
│ │ │ │ │ └── search.vm
│ │ │ │ ├── consumers
│ │ │ │ │ ├── edit.vm
│ │ │ │ │ ├── index.vm
│ │ │ │ │ ├── notified.vm
│ │ │ │ │ ├── routed.vm
│ │ │ │ │ └── show.vm
│ │ │ │ ├── error.vm
│ │ │ │ ├── loadbalances
│ │ │ │ │ ├── add.vm
│ │ │ │ │ ├── edit.vm
│ │ │ │ │ ├── index.vm
│ │ │ │ │ └── show.vm
│ │ │ │ ├── noServicePrivilege.vm
│ │ │ │ ├── overrides
│ │ │ │ │ ├── add.vm
│ │ │ │ │ ├── edit.vm
│ │ │ │ │ ├── index.vm
│ │ │ │ │ └── show.vm
│ │ │ │ ├── owners
│ │ │ │ │ ├── add.vm
│ │ │ │ │ └── index.vm
│ │ │ │ ├── providers
│ │ │ │ │ ├── add.vm
│ │ │ │ │ ├── edit.vm
│ │ │ │ │ ├── index.vm
│ │ │ │ │ └── show.vm
│ │ │ │ ├── redirect.vm
│ │ │ │ ├── routes
│ │ │ │ │ ├── add.vm
│ │ │ │ │ ├── edit.vm
│ │ │ │ │ ├── index.vm
│ │ │ │ │ ├── preview.vm
│ │ │ │ │ ├── routeselect.vm
│ │ │ │ │ └── show.vm
│ │ │ │ ├── services
│ │ │ │ │ ├── index.vm
│ │ │ │ │ └── search.vm
│ │ │ │ └── weights
│ │ │ │ ├── add.vm
│ │ │ │ ├── edit.vm
│ │ │ │ ├── index.vm
│ │ │ │ └── show.vm
│ │ │ ├── home
│ │ │ │ ├── control
│ │ │ │ │ └── menu.vm
│ │ │ │ └── screen
│ │ │ │ ├── ajax.vm
│ │ │ │ ├── index.vm
│ │ │ │ └── services.vm
│ │ │ └── sysinfo
│ │ │ ├── layout
│ │ │ │ ├── default.vm
│ │ │ │ ├── redirect.vm
│ │ │ │ └── search.vm
│ │ │ └── screen
│ │ │ ├── dumps
│ │ │ │ └── index.vm
│ │ │ ├── envs
│ │ │ │ └── index.vm
│ │ │ ├── logs
│ │ │ │ └── index.vm
│ │ │ ├── redirect.vm
│ │ │ ├── socketConn.vm
│ │ │ ├── statuses
│ │ │ │ └── index.vm
│ │ │ └── versions
│ │ │ ├── index.vm
│ │ │ └── show.vm
│ │ ├── webx-governance.xml
│ │ ├── webx-home.xml
│ │ ├── web.xml
│ │ ├── webx-personal.xml
│ │ ├── webx-sysinfo.xml
│ │ ├── webx-sysmanage.xml
│ │ └── webx.xml
│ └── test
│ ├── assembly
│ │ └── bin
│ │ └── setup.bat
│ ├── java
│ │ └── com
│ │ └── alibaba
│ │ └── dubbo
│ │ └── registry
│ │ └── common
│ │ ├── domain
│ │ │ └── PageListTest.java
│ │ ├── route
│ │ │ ├── ParseUtilsTest.java
│ │ │ ├── RouteRuleTest.java
│ │ │ ├── RouteRuleUtilsTest.java
│ │ │ └── RouteUtilsTest.java
│ │ └── util
│ │ └── ToolTest.java
│ └── resources
│ ├── AgreementData.xml
│ ├── ApprovalData.xml
│ ├── ChangeData.xml
│ ├── ClusterData.xml
│ ├── ConsumerData.xml
│ ├── DocumentData.xml
│ ├── dubbo.properties
│ ├── LayerData.xml
│ ├── log4j.xml
│ ├── OperationData.xml
│ ├── ProviderData.xml
│ ├── RegistryData.xml
│ ├── RouteData.xml
│ ├── TestData.xml
│ ├── UserData.xml
│ └── WeightData.xml
├── dubbo-cluster
│ ├── pom.xml
│ └── src
│ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── alibaba
│ │ │ └── dubbo
│ │ │ └── rpc
│ │ │ └── cluster
│ │ │ ├── Cluster.java
│ │ │ ├── configurator
│ │ │ │ ├── absent
│ │ │ │ │ ├── AbsentConfiguratorFactory.java
│ │ │ │ │ └── AbsentConfigurator.java
│ │ │ │ ├── AbstractConfigurator.java
│ │ │ │ └── override
│ │ │ │ ├── OverrideConfiguratorFactory.java
│ │ │ │ └── OverrideConfigurator.java
│ │ │ ├── ConfiguratorFactory.java
│ │ │ ├── Configurator.java
│ │ │ ├── directory
│ │ │ │ ├── AbstractDirectory.java
│ │ │ │ └── StaticDirectory.java
│ │ │ ├── Directory.java
│ │ │ ├── loadbalance
│ │ │ │ ├── AbstractLoadBalance.java
│ │ │ │ ├── ConsistentHashLoadBalance.java
│ │ │ │ ├── LeastActiveLoadBalance.java
│ │ │ │ ├── RandomLoadBalance.java
│ │ │ │ └── RoundRobinLoadBalance.java
│ │ │ ├── LoadBalance.java
│ │ │ ├── merger
│ │ │ │ ├── ArrayMerger.java
│ │ │ │ ├── BooleanArrayMerger.java
│ │ │ │ ├── ByteArrayMerger.java
│ │ │ │ ├── CharArrayMerger.java
│ │ │ │ ├── DoubleArrayMerger.java
│ │ │ │ ├── FloatArrayMerger.java
│ │ │ │ ├── IntArrayMerger.java
│ │ │ │ ├── ListMerger.java
│ │ │ │ ├── LongArrayMerger.java
│ │ │ │ ├── MapMerger.java
│ │ │ │ ├── MergerFactory.java
│ │ │ │ ├── SetMerger.java
│ │ │ │ └── ShortArrayMerger.java
│ │ │ ├── Merger.java
│ │ │ ├── router
│ │ │ │ ├── condition
│ │ │ │ │ ├── ConditionRouterFactory.java
│ │ │ │ │ └── ConditionRouter.java
│ │ │ │ ├── file
│ │ │ │ │ └── FileRouterFactory.java
│ │ │ │ ├── MockInvokersSelector.java
│ │ │ │ └── script
│ │ │ │ ├── ScriptRouterFactory.java
│ │ │ │ └── ScriptRouter.java
│ │ │ ├── RouterFactory.java
│ │ │ ├── Router.java
│ │ │ ├── RuleConverter.java
│ │ │ └── support
│ │ │ ├── AbstractClusterInvoker.java
│ │ │ ├── AvailableClusterInvoker.java
│ │ │ ├── AvailableCluster.java
│ │ │ ├── BroadcastClusterInvoker.java
│ │ │ ├── BroadcastCluster.java
│ │ │ ├── ClusterUtils.java
│ │ │ ├── FailbackClusterInvoker.java
│ │ │ ├── FailbackCluster.java
│ │ │ ├── FailfastClusterInvoker.java
│ │ │ ├── FailfastCluster.java
│ │ │ ├── FailoverClusterInvoker.java
│ │ │ ├── FailoverCluster.java
│ │ │ ├── FailsafeClusterInvoker.java
│ │ │ ├── FailsafeCluster.java
│ │ │ ├── ForkingClusterInvoker.java
│ │ │ ├── ForkingCluster.java
│ │ │ ├── MergeableClusterInvoker.java
│ │ │ ├── MergeableCluster.java
│ │ │ └── wrapper
│ │ │ ├── MockClusterInvoker.java
│ │ │ └── MockClusterWrapper.java
│ │ └── resources
│ │ └── META-INF
│ │ └── dubbo
│ │ └── internal
│ │ ├── com.alibaba.dubbo.rpc.cluster.Cluster
│ │ ├── com.alibaba.dubbo.rpc.cluster.ConfiguratorFactory
│ │ ├── com.alibaba.dubbo.rpc.cluster.LoadBalance
│ │ ├── com.alibaba.dubbo.rpc.cluster.Merger
│ │ └── com.alibaba.dubbo.rpc.cluster.RouterFactory
│ └── test
│ ├── java
│ │ └── com
│ │ └── alibaba
│ │ └── dubbo
│ │ └── rpc
│ │ └── cluster
│ │ ├── configurator
│ │ │ ├── absent
│ │ │ │ └── AbsentConfiguratorTest.java
│ │ │ └── override
│ │ │ └── OverrideConfiguratorTest.java
│ │ ├── filter
│ │ │ ├── DemoService.java
│ │ │ ├── DemoServiceLocal.java
│ │ │ ├── DemoServiceMock.java
│ │ │ ├── DemoServiceStub.java
│ │ │ └── MockService.java
│ │ ├── loadbalance
│ │ │ └── LoadBalanceTest.java
│ │ ├── merger
│ │ │ └── ResultMergerTest.java
│ │ ├── router
│ │ │ ├── condition
│ │ │ │ └── ConditionRouterTest.java
│ │ │ ├── file
│ │ │ │ └── FileRouterEngineTest.java
│ │ │ ├── MockInvoker.java
│ │ │ └── script
│ │ │ └── ScriptRouterTest.java
│ │ ├── StickyTest.java
│ │ └── support
│ │ ├── AbstractClusterInvokerTest.java
│ │ ├── ClusterUtilsTest.java
│ │ ├── FailbackClusterInvokerTest.java
│ │ ├── FailfastClusterInvokerTest.java
│ │ ├── FailoverClusterInvokerTest.java
│ │ ├── FailSafeClusterInvokerTest.java
│ │ ├── ForkingClusterInvokerTest.java
│ │ ├── Menu.java
│ │ ├── MenuService.java
│ │ ├── MergeableClusterInvokerTest.java
│ │ └── wrapper
│ │ ├── MockClusterInvokerTest.java
│ │ └── MyMockException.java
│ └── resources
│ ├── com
│ │ └── alibaba
│ │ └── dubbo
│ │ └── rpc
│ │ └── cluster
│ │ └── router
│ │ └── file
│ │ ├── availablerule.javascript
│ │ ├── methodrule.javascript
│ │ └── notAvailablerule.javascript
│ └── log4j.xml
├── dubbo-common
│ ├── pom.xml
│ └── src
│ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── alibaba
│ │ │ └── dubbo
│ │ │ └── common
│ │ │ ├── beanutil
│ │ │ │ ├── JavaBeanAccessor.java
│ │ │ │ ├── JavaBeanDescriptor.java
│ │ │ │ └── JavaBeanSerializeUtil.java
│ │ │ ├── bytecode
│ │ │ │ ├── ClassGenerator.java
│ │ │ │ ├── Mixin.java
│ │ │ │ ├── NoSuchMethodException.java
│ │ │ │ ├── NoSuchPropertyException.java
│ │ │ │ ├── Proxy.java
│ │ │ │ └── Wrapper.java
│ │ │ ├── compiler
│ │ │ │ ├── Compiler.java
│ │ │ │ └── support
│ │ │ │ ├── AbstractCompiler.java
│ │ │ │ ├── AdaptiveCompiler.java
│ │ │ │ ├── ClassUtils.java
│ │ │ │ ├── JavassistCompiler.java
│ │ │ │ └── JdkCompiler.java
│ │ │ ├── Constants.java
│ │ │ ├── extension
│ │ │ │ ├── Activate.java
│ │ │ │ ├── Adaptive.java
│ │ │ │ ├── ExtensionFactory.java
│ │ │ │ ├── ExtensionLoader.java
│ │ │ │ ├── factory
│ │ │ │ │ ├── AdaptiveExtensionFactory.java
│ │ │ │ │ └── SpiExtensionFactory.java
│ │ │ │ ├── SPI.java
│ │ │ │ └── support
│ │ │ │ └── ActivateComparator.java
│ │ │ ├── Extension.java
│ │ │ ├── io
│ │ │ │ ├── Bytes.java
│ │ │ │ ├── StreamUtils.java
│ │ │ │ ├── UnsafeByteArrayInputStream.java
│ │ │ │ ├── UnsafeByteArrayOutputStream.java
│ │ │ │ ├── UnsafeStringReader.java
│ │ │ │ └── UnsafeStringWriter.java
│ │ │ ├── json
│ │ │ │ ├── DefaultJacksonObjectMapperProvider.java
│ │ │ │ ├── GenericJSONConverter.java
│ │ │ │ ├── J2oVisitor.java
│ │ │ │ ├── Jackson.java
│ │ │ │ ├── JacksonObjectMapperProvider.java
│ │ │ │ ├── JSONArray.java
│ │ │ │ ├── JSONConverter.java
│ │ │ │ ├── JSON.java
│ │ │ │ ├── JSONNode.java
│ │ │ │ ├── JSONObject.java
│ │ │ │ ├── JSONReader.java
│ │ │ │ ├── JSONToken.java
│ │ │ │ ├── JSONVisitor.java
│ │ │ │ ├── JSONWriter.java
│ │ │ │ ├── ParseException.java
│ │ │ │ └── Yylex.java
│ │ │ ├── logger
│ │ │ │ ├── jcl
│ │ │ │ │ ├── JclLoggerAdapter.java
│ │ │ │ │ └── JclLogger.java
│ │ │ │ ├── jdk
│ │ │ │ │ ├── JdkLoggerAdapter.java
│ │ │ │ │ └── JdkLogger.java
│ │ │ │ ├── Level.java
│ │ │ │ ├── log4j
│ │ │ │ │ ├── Log4jLoggerAdapter.java
│ │ │ │ │ └── Log4jLogger.java
│ │ │ │ ├── LoggerAdapter.java
│ │ │ │ ├── LoggerFactory.java
│ │ │ │ ├── Logger.java
│ │ │ │ ├── slf4j
│ │ │ │ │ ├── Slf4jLoggerAdapter.java
│ │ │ │ │ └── Slf4jLogger.java
│ │ │ │ └── support
│ │ │ │ └── FailsafeLogger.java
│ │ │ ├── Node.java
│ │ │ ├── Parameters.java
│ │ │ ├── Resetable.java
│ │ │ ├── serialize
│ │ │ │ ├── Cleanable.java
│ │ │ │ ├── DataInput.java
│ │ │ │ ├── DataOutput.java
│ │ │ │ ├── ObjectInput.java
│ │ │ │ ├── ObjectOutput.java
│ │ │ │ ├── OptimizedSerialization.java
│ │ │ │ ├── Serialization.java
│ │ │ │ └── support
│ │ │ │ ├── dubbo
│ │ │ │ │ ├── Builder.java
│ │ │ │ │ ├── ClassDescriptorMapper.java
│ │ │ │ │ ├── DubboSerialization.java
│ │ │ │ │ ├── GenericDataFlags.java
│ │ │ │ │ ├── GenericDataInput.java
│ │ │ │ │ ├── GenericDataOutput.java
│ │ │ │ │ ├── GenericObjectInput.java
│ │ │ │ │ └── GenericObjectOutput.java
│ │ │ │ ├── fst
│ │ │ │ │ ├── FstFactory.java
│ │ │ │ │ ├── FstObjectInput.java
│ │ │ │ │ ├── FstObjectOutput.java
│ │ │ │ │ └── FstSerialization.java
│ │ │ │ ├── hessian
│ │ │ │ │ ├── Hessian2ObjectInput.java
│ │ │ │ │ ├── Hessian2ObjectOutput.java
│ │ │ │ │ ├── Hessian2Serialization.java
│ │ │ │ │ └── Hessian2SerializerFactory.java
│ │ │ │ ├── java
│ │ │ │ │ ├── CompactedJavaSerialization.java
│ │ │ │ │ ├── CompactedObjectInputStream.java
│ │ │ │ │ ├── CompactedObjectOutputStream.java
│ │ │ │ │ ├── JavaObjectInput.java
│ │ │ │ │ ├── JavaObjectOutput.java
│ │ │ │ │ └── JavaSerialization.java
│ │ │ │ ├── json
│ │ │ │ │ ├── FastJsonObjectInput.java
│ │ │ │ │ ├── FastJsonObjectOutput.java
│ │ │ │ │ ├── FastJsonSerialization.java
│ │ │ │ │ ├── JacksonObjectInput.java
│ │ │ │ │ ├── JacksonObjectOutput.java
│ │ │ │ │ ├── JacksonSerialization.java
│ │ │ │ │ ├── JsonObjectInput.java
│ │ │ │ │ ├── JsonObjectOutput.java
│ │ │ │ │ └── JsonSerialization.java
│ │ │ │ ├── kryo
│ │ │ │ │ ├── CompatibleKryo.java
│ │ │ │ │ ├── KryoFactory.java
│ │ │ │ │ ├── KryoObjectInput.java
│ │ │ │ │ ├── KryoObjectOutput.java
│ │ │ │ │ ├── KryoSerialization.java
│ │ │ │ │ ├── PooledKryoFactory.java
│ │ │ │ │ ├── PrototypeKryoFactory.java
│ │ │ │ │ ├── ReflectionUtils.java
│ │ │ │ │ ├── SingletonKryoFactory.java
│ │ │ │ │ └── ThreadLocalKryoFactory.java
│ │ │ │ ├── nativejava
│ │ │ │ │ ├── NativeJavaObjectInput.java
│ │ │ │ │ ├── NativeJavaObjectOutput.java
│ │ │ │ │ └── NativeJavaSerialization.java
│ │ │ │ ├── SerializableClassRegistry.java
│ │ │ │ └── SerializationOptimizer.java
│ │ │ ├── status
│ │ │ │ ├── StatusChecker.java
│ │ │ │ ├── Status.java
│ │ │ │ └── support
│ │ │ │ ├── LoadStatusChecker.java
│ │ │ │ ├── MemoryStatusChecker.java
│ │ │ │ └── StatusUtils.java
│ │ │ ├── store
│ │ │ │ ├── DataStore.java
│ │ │ │ └── support
│ │ │ │ └── SimpleDataStore.java
│ │ │ ├── threadpool
│ │ │ │ ├── support
│ │ │ │ │ ├── AbortPolicyWithReport.java
│ │ │ │ │ ├── cached
│ │ │ │ │ │ └── CachedThreadPool.java
│ │ │ │ │ ├── fixed
│ │ │ │ │ │ └── FixedThreadPool.java
│ │ │ │ │ └── limited
│ │ │ │ │ └── LimitedThreadPool.java
│ │ │ │ └── ThreadPool.java
│ │ │ ├── URL.java
│ │ │ ├── utils
│ │ │ │ ├── Assert.java
│ │ │ │ ├── AtomicPositiveInteger.java
│ │ │ │ ├── ClassHelper.java
│ │ │ │ ├── CollectionUtils.java
│ │ │ │ ├── CompatibleTypeUtils.java
│ │ │ │ ├── ConcurrentHashSet.java
│ │ │ │ ├── ConfigUtils.java
│ │ │ │ ├── DubboAppender.java
│ │ │ │ ├── ExecutorUtil.java
│ │ │ │ ├── Holder.java
│ │ │ │ ├── IOUtils.java
│ │ │ │ ├── LogHelper.java
│ │ │ │ ├── Log.java
│ │ │ │ ├── LogUtil.java
│ │ │ │ ├── LRUCache.java
│ │ │ │ ├── NamedThreadFactory.java
│ │ │ │ ├── NetUtils.java
│ │ │ │ ├── PojoUtils.java
│ │ │ │ ├── ReflectUtils.java
│ │ │ │ ├── Stack.java
│ │ │ │ ├── StringUtils.java
│ │ │ │ └── UrlUtils.java
│ │ │ └── Version.java
│ │ └── resources
│ │ └── META-INF
│ │ └── dubbo
│ │ └── internal
│ │ ├── com.alibaba.dubbo.common.compiler.Compiler
│ │ ├── com.alibaba.dubbo.common.extension.ExtensionFactory
│ │ ├── com.alibaba.dubbo.common.json.JacksonObjectMapperProvider
│ │ ├── com.alibaba.dubbo.common.logger.LoggerAdapter
│ │ ├── com.alibaba.dubbo.common.serialize.Serialization
│ │ ├── com.alibaba.dubbo.common.status.StatusChecker
│ │ ├── com.alibaba.dubbo.common.store.DataStore
│ │ └── com.alibaba.dubbo.common.threadpool.ThreadPool
│ └── test
│ ├── java
│ │ └── com
│ │ └── alibaba
│ │ └── dubbo
│ │ └── common
│ │ ├── beanutil
│ │ │ ├── Bean.java
│ │ │ └── JavaBeanSerializeUtilTest.java
│ │ ├── bytecode
│ │ │ ├── ClassGeneratorTest.java
│ │ │ ├── MixinTest.java
│ │ │ ├── ProxyTest.java
│ │ │ └── WrapperTest.java
│ │ ├── compiler
│ │ │ └── support
│ │ │ └── JdkCompilerTest.java
│ │ ├── extensionloader
│ │ │ ├── activate
│ │ │ │ ├── ActivateExt1.java
│ │ │ │ └── impl
│ │ │ │ ├── ActivateExt1Impl1.java
│ │ │ │ ├── GroupActivateExtImpl.java
│ │ │ │ ├── OrderActivateExtImpl1.java
│ │ │ │ ├── OrderActivateExtImpl2.java
│ │ │ │ └── ValueActivateExtImpl.java
│ │ │ ├── adaptive
│ │ │ │ ├── HasAdaptiveExt.java
│ │ │ │ └── impl
│ │ │ │ ├── HasAdaptiveExtImpl1.java
│ │ │ │ └── HasAdaptiveExt_ManualAdaptive.java
│ │ │ ├── compatible
│ │ │ │ ├── CompatibleExt.java
│ │ │ │ └── impl
│ │ │ │ ├── CompatibleExtImpl1.java
│ │ │ │ └── CompatibleExtImpl2.java
│ │ │ ├── ext1
│ │ │ │ ├── impl
│ │ │ │ │ ├── SimpleExtImpl1.java
│ │ │ │ │ ├── SimpleExtImpl2.java
│ │ │ │ │ └── SimpleExtImpl3.java
│ │ │ │ └── SimpleExt.java
│ │ │ ├── ext2
│ │ │ │ ├── Ext2.java
│ │ │ │ ├── impl
│ │ │ │ │ ├── Ext2Impl1.java
│ │ │ │ │ ├── Ext2Impl2.java
│ │ │ │ │ └── Ext2Impl3.java
│ │ │ │ └── UrlHolder.java
│ │ │ ├── ext3
│ │ │ │ ├── impl
│ │ │ │ │ ├── UseProtocolKeyExtImpl1.java
│ │ │ │ │ ├── UseProtocolKeyExtImpl2.java
│ │ │ │ │ └── UseProtocolKeyExtImpl3.java
│ │ │ │ └── UseProtocolKeyExt.java
│ │ │ ├── ext4
│ │ │ │ ├── impl
│ │ │ │ │ ├── Ext4Impl1.java
│ │ │ │ │ └── Ext4Impl2.java
│ │ │ │ └── NoUrlParamExt.java
│ │ │ ├── ext5
│ │ │ │ ├── impl
│ │ │ │ │ ├── Ext5Impl1.java
│ │ │ │ │ └── Ext5Impl2.java
│ │ │ │ └── NoAdaptiveMethodExt.java
│ │ │ ├── ext6_inject
│ │ │ │ ├── Dao.java
│ │ │ │ ├── Ext6.java
│ │ │ │ └── impl
│ │ │ │ ├── DaoImpl.java
│ │ │ │ ├── Ext6Impl1.java
│ │ │ │ └── Ext6Impl2.java
│ │ │ ├── ext6_wrap
│ │ │ │ ├── impl
│ │ │ │ │ ├── Ext5Impl1.java
│ │ │ │ │ ├── Ext5Impl2.java
│ │ │ │ │ ├── Ext5Wrapper1.java
│ │ │ │ │ └── Ext5Wrapper2.java
│ │ │ │ └── WrappedExt.java
│ │ │ ├── ext7
│ │ │ │ ├── impl
│ │ │ │ │ ├── Ext7Impl.java
│ │ │ │ │ └── Ext7InitErrorImpl.java
│ │ │ │ └── InitErrorExt.java
│ │ │ ├── ext8_add
│ │ │ │ ├── AddExt1.java
│ │ │ │ ├── AddExt2.java
│ │ │ │ ├── AddExt3.java
│ │ │ │ ├── AddExt4.java
│ │ │ │ └── impl
│ │ │ │ ├── AddExt1Impl1.java
│ │ │ │ ├── AddExt1_ManualAdaptive.java
│ │ │ │ ├── AddExt1_ManualAdd1.java
│ │ │ │ ├── AddExt1_ManualAdd2.java
│ │ │ │ ├── AddExt2Impl1.java
│ │ │ │ ├── AddExt2_ManualAdaptive.java
│ │ │ │ ├── AddExt3_ManualAdaptive.java
│ │ │ │ └── AddExt4_ManualAdaptive.java
│ │ │ ├── ExtensionLoader_Adaptive_Test.java
│ │ │ ├── ExtensionLoader_Adaptive_UseJdkCompiler_Test.java
│ │ │ ├── ExtensionLoader_Compatible_Test.java
│ │ │ ├── ExtensionLoaderTest.java
│ │ │ └── NoSpiExt.java
│ │ ├── io
│ │ │ ├── BytesTest.java
│ │ │ └── StreamUtilsTest.java
│ │ ├── json
│ │ │ ├── JacksonTest.java
│ │ │ ├── JSONReaderTest.java
│ │ │ ├── JSONTest.java
│ │ │ ├── JSONWriterTest.java
│ │ │ └── MyException.java
│ │ ├── model
│ │ │ ├── AnimalEnum.java
│ │ │ ├── BizException.java
│ │ │ ├── BizExceptionNoDefaultConstructor.java
│ │ │ ├── media
│ │ │ │ ├── Image.java
│ │ │ │ ├── MediaContent.java
│ │ │ │ └── Media.java
│ │ │ ├── person
│ │ │ │ ├── BigPerson.java
│ │ │ │ ├── FullAddress.java
│ │ │ │ ├── PersonInfo.java
│ │ │ │ ├── PersonStatus.java
│ │ │ │ └── Phone.java
│ │ │ ├── Person.java
│ │ │ └── SerializablePerson.java
│ │ ├── serialize
│ │ │ ├── dubbo
│ │ │ │ ├── BuilderTest.java
│ │ │ │ ├── DataInputOutputTest.java
│ │ │ │ └── SimpleDO.java
│ │ │ ├── serialization
│ │ │ │ ├── AbstractSerializationPersionFailTest.java
│ │ │ │ ├── AbstractSerializationPersionOkTest.java
│ │ │ │ ├── AbstractSerializationTest.java
│ │ │ │ ├── CompactedJavaSerializationTest.java
│ │ │ │ ├── DubboSerializationTest.java
│ │ │ │ ├── FastJsonSerializationTest.java
│ │ │ │ ├── FstSerializationTest.java
│ │ │ │ ├── Hessian2SerializationTest.java
│ │ │ │ ├── JavaSerializationTest.java
│ │ │ │ ├── JsonSerializationTest.java
│ │ │ │ ├── KyroSerializationTest.java
│ │ │ │ └── ReflectionUtilsTest.java
│ │ │ └── SerializationCompareTest.java
│ │ ├── store
│ │ │ └── support
│ │ │ └── SimpleDataStoreTest.java
│ │ ├── URLTest.java
│ │ └── utils
│ │ ├── AtomicPositiveIntegerTest.java
│ │ ├── CollectionUtilsTest.java
│ │ ├── CompatibleTypeUtilsTest.java
│ │ ├── ConfigUtilsTest.java
│ │ ├── MyEnum.java
│ │ ├── NetUtilsTest.java
│ │ ├── ParametersTest.java
│ │ ├── PojoUtilsTest.java
│ │ ├── ReflectUtilsTest.java
│ │ ├── StringUtilsTest.java
│ │ └── UrlUtilsTest.java
│ └── resources
│ ├── com
│ │ └── alibaba
│ │ └── dubbo
│ │ └── common
│ │ └── serialize
│ │ └── dubbo
│ │ └── SimpleDO.fc
│ ├── json.flex
│ ├── log4j.xml
│ ├── META-INF
│ │ ├── dubbo
│ │ │ └── internal
│ │ │ ├── com.alibaba.dubbo.common.extensionloader.activate.ActivateExt1
│ │ │ ├── com.alibaba.dubbo.common.extensionloader.adaptive.HasAdaptiveExt
│ │ │ ├── com.alibaba.dubbo.common.extensionloader.compatible.CompatibleExt
│ │ │ ├── com.alibaba.dubbo.common.extensionloader.ext1.SimpleExt
│ │ │ ├── com.alibaba.dubbo.common.extensionloader.ext2.Ext2
│ │ │ ├── com.alibaba.dubbo.common.extensionloader.ext3.UseProtocolKeyExt
│ │ │ ├── com.alibaba.dubbo.common.extensionloader.ext4.NoUrlParamExt
│ │ │ ├── com.alibaba.dubbo.common.extensionloader.ext5.NoAdaptiveMethodExt
│ │ │ ├── com.alibaba.dubbo.common.extensionloader.ext6_inject.Ext6
│ │ │ ├── com.alibaba.dubbo.common.extensionloader.ext6_wrap.WrappedExt
│ │ │ ├── com.alibaba.dubbo.common.extensionloader.ext7.InitErrorExt
│ │ │ ├── com.alibaba.dubbo.common.extensionloader.ext8_add.AddExt1
│ │ │ └── com.alibaba.dubbo.common.status.StatusChecker
│ │ └── services
│ │ └── com.alibaba.dubbo.common.extensionloader.activate.ActivateExt1
│ ├── properties.load
│ └── StreamUtilsTest.txt
├── dubbo-config
│ ├── dubbo-config-api
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ │ └── java
│ │ │ └── com
│ │ │ └── alibaba
│ │ │ └── dubbo
│ │ │ └── config
│ │ │ ├── AbstractConfig.java
│ │ │ ├── AbstractInterfaceConfig.java
│ │ │ ├── AbstractMethodConfig.java
│ │ │ ├── AbstractReferenceConfig.java
│ │ │ ├── AbstractServiceConfig.java
│ │ │ ├── annotation
│ │ │ │ ├── Reference.java
│ │ │ │ └── Service.java
│ │ │ ├── ApplicationConfig.java
│ │ │ ├── ArgumentConfig.java
│ │ │ ├── ConsumerConfig.java
│ │ │ ├── MethodConfig.java
│ │ │ ├── ModuleConfig.java
│ │ │ ├── MonitorConfig.java
│ │ │ ├── ProtocolConfig.java
│ │ │ ├── ProviderConfig.java
│ │ │ ├── ReferenceConfig.java
│ │ │ ├── RegistryConfig.java
│ │ │ ├── ServiceConfig.java
│ │ │ ├── support
│ │ │ │ └── Parameter.java
│ │ │ └── utils
│ │ │ └── ReferenceConfigCache.java
│ │ └── test
│ │ ├── java
│ │ │ └── com
│ │ │ └── alibaba
│ │ │ └── dubbo
│ │ │ └── config
│ │ │ ├── api
│ │ │ │ ├── Box.java
│ │ │ │ ├── DemoException.java
│ │ │ │ ├── DemoService.java
│ │ │ │ └── User.java
│ │ │ ├── cache
│ │ │ │ ├── CacheServiceImpl.java
│ │ │ │ ├── CacheService.java
│ │ │ │ └── CacheTest.java
│ │ │ ├── consumer
│ │ │ │ ├── DemoActionByAnnotation.java
│ │ │ │ ├── DemoActionBySetter.java
│ │ │ │ └── DemoInterceptor.java
│ │ │ ├── GenericServiceTest.java
│ │ │ ├── provider
│ │ │ │ └── impl
│ │ │ │ ├── DemoServiceImpl.java
│ │ │ │ ├── DemoServiceImpl_LongWaiting.java
│ │ │ │ ├── UnserializableBoxDemoServiceImpl.java
│ │ │ │ └── UnserializableBox.java
│ │ │ ├── ReferenceConfigTest.java
│ │ │ ├── RpcConfigGetSetProxy.java
│ │ │ ├── support
│ │ │ │ ├── MockProtocol.java
│ │ │ │ ├── MockRegistryFactory.java
│ │ │ │ └── MockRegistry.java
│ │ │ ├── url
│ │ │ │ └── test
│ │ │ │ ├── ExporterSideConfigUrlTest.java
│ │ │ │ ├── InvokerSideConfigUrlTest.java
│ │ │ │ └── UrlTestBase.java
│ │ │ ├── utils
│ │ │ │ ├── MockReferenceConfig.java
│ │ │ │ └── ReferenceConfigCacheTest.java
│ │ │ └── validation
│ │ │ ├── ValidationParameter.java
│ │ │ ├── ValidationServiceImpl.java
│ │ │ ├── ValidationService.java
│ │ │ └── ValidationTest.java
│ │ └── resources
│ │ ├── log4j.xml
│ │ └── META-INF
│ │ └── services
│ │ ├── com.alibaba.dubbo.registry.RegistryFactory
│ │ └── com.alibaba.dubbo.rpc.Protocol
│ ├── dubbo-config-spring
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── alibaba
│ │ │ │ └── dubbo
│ │ │ │ └── config
│ │ │ │ └── spring
│ │ │ │ ├── AnnotationBean.java
│ │ │ │ ├── extension
│ │ │ │ │ └── SpringExtensionFactory.java
│ │ │ │ ├── ReferenceBean.java
│ │ │ │ ├── schema
│ │ │ │ │ ├── DubboBeanDefinitionParser.java
│ │ │ │ │ └── DubboNamespaceHandler.java
│ │ │ │ ├── ServiceBean.java
│ │ │ │ └── status
│ │ │ │ ├── DataSourceStatusChecker.java
│ │ │ │ └── SpringStatusChecker.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ ├── dubbo
│ │ │ │ └── internal
│ │ │ │ ├── com.alibaba.dubbo.common.extension.ExtensionFactory
│ │ │ │ └── com.alibaba.dubbo.common.status.StatusChecker
│ │ │ ├── dubbo.xsd
│ │ │ ├── spring.handlers
│ │ │ └── spring.schemas
│ │ └── test
│ │ ├── java
│ │ │ └── com
│ │ │ └── alibaba
│ │ │ └── dubbo
│ │ │ └── config
│ │ │ └── spring
│ │ │ ├── AbstractRegistryService.java
│ │ │ ├── action
│ │ │ │ ├── DemoActionByAnnotation.java
│ │ │ │ ├── DemoActionBySetter.java
│ │ │ │ └── DemoInterceptor.java
│ │ │ ├── annotation
│ │ │ │ ├── consumer
│ │ │ │ │ └── AnnotationAction.java
│ │ │ │ └── provider
│ │ │ │ └── AnnotationServiceImpl.java
│ │ │ ├── api
│ │ │ │ ├── Box.java
│ │ │ │ ├── DemoService.java
│ │ │ │ ├── DemoServiceSon.java
│ │ │ │ └── HelloService.java
│ │ │ ├── ConfigTest.java
│ │ │ ├── filter
│ │ │ │ ├── MockDaoImpl.java
│ │ │ │ ├── MockDao.java
│ │ │ │ └── MockFilter.java
│ │ │ ├── GenericDemoService.java
│ │ │ ├── impl
│ │ │ │ ├── DemoServiceImpl.java
│ │ │ │ ├── DemoServiceImpl_LongWaiting.java
│ │ │ │ ├── DemoServiceSonImpl.java
│ │ │ │ ├── HelloServiceImpl.java
│ │ │ │ ├── UnserializableBoxDemoServiceImpl.java
│ │ │ │ └── UnserializableBox.java
│ │ │ ├── registry
│ │ │ │ ├── MockRegistryFactory.java
│ │ │ │ └── MockRegistry.java
│ │ │ ├── SimpleRegistryExporter.java
│ │ │ └── SimpleRegistryService.java
│ │ └── resources
│ │ ├── com
│ │ │ └── alibaba
│ │ │ └── dubbo
│ │ │ └── config
│ │ │ └── spring
│ │ │ ├── annotation-consumer.xml
│ │ │ ├── annotation-provider.xml
│ │ │ ├── annotation-version-consumer.xml
│ │ │ ├── annotation-version-provider.xml
│ │ │ ├── aop-autowire-byname.xml
│ │ │ ├── aop-autowire-bytype.xml
│ │ │ ├── customize-parameter.xml
│ │ │ ├── delay-fixed-time.xml
│ │ │ ├── delay-on-initialized.xml
│ │ │ ├── demo-provider-long-waiting.xml
│ │ │ ├── demo-provider-no-methods-interface.xml
│ │ │ ├── demo-provider-UnserializableBox.xml
│ │ │ ├── demo-provider.xml
│ │ │ ├── generic-export.xml
│ │ │ ├── init-reference-getUrls.xml
│ │ │ ├── init-reference-retry-false.xml
│ │ │ ├── init-reference.xml
│ │ │ ├── multi-protocol-default.xml
│ │ │ ├── multi-protocol-error.xml
│ │ │ ├── multi-protocol-register.xml
│ │ │ ├── multi-protocol.xml
│ │ │ ├── multi-registry.xml
│ │ │ ├── override-multi-protocol.xml
│ │ │ ├── override-protocol.xml
│ │ │ ├── provider-nested-service.xml
│ │ │ ├── service-class.xml
│ │ │ ├── spring-extension-inject.xml
│ │ │ ├── system-properties-override-default.xml
│ │ │ ├── system-properties-override.xml
│ │ │ └── xml-override-properties.xml
│ │ ├── dubbo.properties
│ │ ├── log4j.xml
│ │ └── META-INF
│ │ └── dubbo
│ │ └── internal
│ │ ├── com.alibaba.dubbo.registry.RegistryFactory
│ │ └── com.alibaba.dubbo.rpc.Filter
│ └── pom.xml
├── dubbo-container
│ ├── dubbo-container-api
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── alibaba
│ │ │ └── dubbo
│ │ │ └── container
│ │ │ ├── Container.java
│ │ │ ├── Main.java
│ │ │ └── page
│ │ │ ├── MenuComparator.java
│ │ │ ├── Menu.java
│ │ │ ├── PageHandler.java
│ │ │ ├── Page.java
│ │ │ ├── pages
│ │ │ │ ├── HomePageHandler.java
│ │ │ │ ├── LogPageHandler.java
│ │ │ │ ├── StatusPageHandler.java
│ │ │ │ └── SystemPageHandler.java
│ │ │ ├── PageServlet.java
│ │ │ └── ResourceFilter.java
│ │ └── resources
│ │ └── META-INF
│ │ ├── assembly
│ │ │ └── bin
│ │ │ ├── dump.sh
│ │ │ ├── restart.sh
│ │ │ ├── server.sh
│ │ │ ├── start.bat
│ │ │ ├── start.sh
│ │ │ └── stop.sh
│ │ └── dubbo
│ │ └── internal
│ │ └── com.alibaba.dubbo.container.page.PageHandler
│ ├── dubbo-container-javaconfig
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── alibaba
│ │ │ │ └── dubbo
│ │ │ │ └── container
│ │ │ │ └── javaconfig
│ │ │ │ └── JavaConfigContainer.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── dubbo
│ │ │ └── internal
│ │ │ └── com.alibaba.dubbo.container.Container
│ │ └── test
│ │ ├── java
│ │ │ ├── com
│ │ │ │ └── alibaba
│ │ │ │ └── dubbo
│ │ │ │ └── container
│ │ │ │ └── javaconfig
│ │ │ │ └── JavaConfigContainerTest.java
│ │ │ └── dubbo
│ │ │ └── spring
│ │ │ └── javaconfig
│ │ │ └── TestDubboConfig.java
│ │ └── resources
│ │ └── log4j.xml
│ ├── dubbo-container-jetty
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── alibaba
│ │ │ │ └── dubbo
│ │ │ │ └── container
│ │ │ │ └── jetty
│ │ │ │ └── JettyContainer.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── dubbo
│ │ │ └── internal
│ │ │ └── com.alibaba.dubbo.container.Container
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── alibaba
│ │ └── dubbo
│ │ └── container
│ │ └── jetty
│ │ └── JettyContainerTest.java
│ ├── dubbo-container-log4j
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── alibaba
│ │ │ │ └── dubbo
│ │ │ │ └── container
│ │ │ │ └── log4j
│ │ │ │ └── Log4jContainer.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── dubbo
│ │ │ └── internal
│ │ │ └── com.alibaba.dubbo.container.Container
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── alibaba
│ │ └── dubbo
│ │ └── container
│ │ └── log4j
│ │ └── Log4jContainerTest.java
│ ├── dubbo-container-logback
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── alibaba
│ │ │ │ └── dubbo
│ │ │ │ └── container
│ │ │ │ └── logback
│ │ │ │ └── LogbackContainer.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── dubbo
│ │ │ └── internal
│ │ │ └── com.alibaba.dubbo.container.Container
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── alibaba
│ │ └── dubbo
│ │ └── container
│ │ └── logback
│ │ └── LogbackContainerTest.java
│ ├── dubbo-container-spring
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── alibaba
│ │ │ │ └── dubbo
│ │ │ │ └── container
│ │ │ │ └── spring
│ │ │ │ └── SpringContainer.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── dubbo
│ │ │ └── internal
│ │ │ └── com.alibaba.dubbo.container.Container
│ │ └── test
│ │ ├── java
│ │ │ └── com
│ │ │ └── alibaba
│ │ │ └── dubbo
│ │ │ └── container
│ │ │ └── spring
│ │ │ └── SpringContainerTest.java
│ │ └── resources
│ │ ├── log4j.xml
│ │ └── META-INF
│ │ └── spring
│ │ └── test.xml
│ └── pom.xml
├── dubbo-demo
│ ├── dubbo-demo-api
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── alibaba
│ │ └── dubbo
│ │ └── demo
│ │ ├── bid
│ │ │ ├── BidRequest.java
│ │ │ ├── BidResponse.java
│ │ │ ├── BidService.java
│ │ │ ├── Device.java
│ │ │ ├── Geo.java
│ │ │ ├── Impression.java
│ │ │ └── SeatBid.java
│ │ ├── extension
│ │ │ ├── ClientTraceFilter.java
│ │ │ ├── CustomExceptionMapper.java
│ │ │ ├── DynamicTraceBinding.java
│ │ │ ├── DynamicTraceInterceptor.java
│ │ │ ├── TraceFilter.java
│ │ │ └── TraceInterceptor.java
│ │ ├── hello
│ │ │ └── HelloService.java
│ │ ├── SerializationOptimizerImpl.java
│ │ └── user
│ │ ├── facade
│ │ │ ├── AnotherUserRestService.java
│ │ │ ├── RegistrationResult.java
│ │ │ └── UserRestService.java
│ │ ├── User.java
│ │ └── UserService.java
│ ├── dubbo-demo-consumer
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ │ ├── assembly
│ │ │ │ ├── assembly.xml
│ │ │ │ └── conf
│ │ │ │ └── dubbo.properties
│ │ │ ├── java
│ │ │ │ ├── com
│ │ │ │ │ └── alibaba
│ │ │ │ │ └── dubbo
│ │ │ │ │ └── demo
│ │ │ │ │ └── consumer
│ │ │ │ │ ├── DemoAction.java
│ │ │ │ │ └── DemoJavaConfigAction.java
│ │ │ │ └── dubbo
│ │ │ │ └── spring
│ │ │ │ └── javaconfig
│ │ │ │ ├── DubboDemoActionConfig.java
│ │ │ │ └── DubboDemoConsumerConfig.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── spring
│ │ │ ├── dubbo-demo-action.xml
│ │ │ └── dubbo-demo-consumer.xml
│ │ └── test
│ │ ├── java
│ │ │ └── com
│ │ │ └── alibaba
│ │ │ └── dubbo
│ │ │ └── demo
│ │ │ └── consumer
│ │ │ ├── DemoConsumer.java
│ │ │ ├── DemoJavaConfigConsumer.java
│ │ │ └── RestClient.java
│ │ └── resources
│ │ └── log4j.xml
│ ├── dubbo-demo-provider
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── alibaba
│ │ │ │ └── dubbo
│ │ │ │ └── demo
│ │ │ │ ├── bid
│ │ │ │ │ └── BidServiceImpl.java
│ │ │ │ ├── hello
│ │ │ │ │ └── HelloServiceImpl.java
│ │ │ │ └── user
│ │ │ │ ├── facade
│ │ │ │ │ ├── AnnotationDrivenUserRestServiceImpl.java
│ │ │ │ │ ├── AnotherUserRestServiceImpl.java
│ │ │ │ │ └── UserRestServiceImpl.java
│ │ │ │ └── UserServiceImpl.java
│ │ │ ├── resources
│ │ │ │ ├── log4j.xml
│ │ │ │ └── META-INF
│ │ │ │ └── spring
│ │ │ │ └── dubbo-demo-provider.xml
│ │ │ └── webapp
│ │ │ └── WEB-INF
│ │ │ └── web.xml
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── alibaba
│ │ └── dubbo
│ │ └── demo
│ │ └── provider
│ │ └── DemoProvider.java
│ └── pom.xml
├── dubbo-filter
│ ├── dubbo-filter-cache
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── alibaba
│ │ │ └── dubbo
│ │ │ └── cache
│ │ │ ├── CacheFactory.java
│ │ │ ├── Cache.java
│ │ │ ├── filter
│ │ │ │ └── CacheFilter.java
│ │ │ └── support
│ │ │ ├── AbstractCacheFactory.java
│ │ │ ├── jcache
│ │ │ │ ├── JCacheFactory.java
│ │ │ │ └── JCache.java
│ │ │ ├── lru
│ │ │ │ ├── LruCacheFactory.java
│ │ │ │ └── LruCache.java
│ │ │ └── threadlocal
│ │ │ ├── ThreadLocalCacheFactory.java
│ │ │ └── ThreadLocalCache.java
│ │ └── resources
│ │ └── META-INF
│ │ └── dubbo
│ │ └── internal
│ │ ├── com.alibaba.dubbo.cache.CacheFactory
│ │ └── com.alibaba.dubbo.rpc.Filter
│ ├── dubbo-filter-validation
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── alibaba
│ │ │ └── dubbo
│ │ │ └── validation
│ │ │ ├── filter
│ │ │ │ └── ValidationFilter.java
│ │ │ ├── support
│ │ │ │ ├── AbstractValidation.java
│ │ │ │ └── jvalidation
│ │ │ │ ├── JValidation.java
│ │ │ │ └── JValidator.java
│ │ │ ├── Validation.java
│ │ │ └── Validator.java
│ │ └── resources
│ │ └── META-INF
│ │ └── dubbo
│ │ └── internal
│ │ ├── com.alibaba.dubbo.rpc.Filter
│ │ └── com.alibaba.dubbo.validation.Validation
│ └── pom.xml
├── dubbo-maven
│ └── pom.xml
├── dubbo-monitor
│ ├── dubbo-monitor-api
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── alibaba
│ │ │ │ └── dubbo
│ │ │ │ └── monitor
│ │ │ │ ├── MonitorFactory.java
│ │ │ │ ├── Monitor.java
│ │ │ │ ├── MonitorService.java
│ │ │ │ └── support
│ │ │ │ ├── AbstractMonitorFactory.java
│ │ │ │ └── MonitorFilter.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── dubbo
│ │ │ └── internal
│ │ │ └── com.alibaba.dubbo.rpc.Filter
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── alibaba
│ │ └── dubbo
│ │ └── monitor
│ │ └── support
│ │ ├── AbstractMonitorFactoryTest.java
│ │ └── MonitorFilterTest.java
│ ├── dubbo-monitor-default
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── alibaba
│ │ │ │ └── dubbo
│ │ │ │ └── monitor
│ │ │ │ └── dubbo
│ │ │ │ ├── DubboMonitorFactroy.java
│ │ │ │ ├── DubboMonitor.java
│ │ │ │ └── Statistics.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── dubbo
│ │ │ └── internal
│ │ │ └── com.alibaba.dubbo.monitor.MonitorFactory
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── alibaba
│ │ └── dubbo
│ │ └── monitor
│ │ └── dubbo
│ │ ├── DubboMonitorTest.java
│ │ └── MockMonitorService.java
│ └── pom.xml
├── dubbo-registry
│ ├── dubbo-registry-api
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── alibaba
│ │ │ │ └── dubbo
│ │ │ │ └── registry
│ │ │ │ ├── integration
│ │ │ │ │ ├── RegistryDirectory.java
│ │ │ │ │ └── RegistryProtocol.java
│ │ │ │ ├── NotifyListener.java
│ │ │ │ ├── pages
│ │ │ │ │ ├── RegisteredPageHandler.java
│ │ │ │ │ ├── RegistriesPageHandler.java
│ │ │ │ │ └── SubscribedPageHandler.java
│ │ │ │ ├── RegistryFactory.java
│ │ │ │ ├── Registry.java
│ │ │ │ ├── RegistryService.java
│ │ │ │ ├── status
│ │ │ │ │ └── RegistryStatusChecker.java
│ │ │ │ └── support
│ │ │ │ ├── AbstractRegistryFactory.java
│ │ │ │ ├── AbstractRegistry.java
│ │ │ │ ├── FailbackRegistry.java
│ │ │ │ └── SkipFailbackWrapperException.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── dubbo
│ │ │ └── internal
│ │ │ ├── com.alibaba.dubbo.common.status.StatusChecker
│ │ │ ├── com.alibaba.dubbo.container.page.PageHandler
│ │ │ └── com.alibaba.dubbo.rpc.Protocol
│ │ └── test
│ │ ├── java
│ │ │ └── com
│ │ │ └── alibaba
│ │ │ └── dubbo
│ │ │ └── registry
│ │ │ ├── PerformanceRegistryTest.java
│ │ │ ├── PerformanceUtils.java
│ │ │ ├── RegistryTestSupport.java
│ │ │ └── support
│ │ │ ├── AbstractRegistryFactoryTest.java
│ │ │ └── FailbackRegistryTest.java
│ │ └── resources
│ │ └── log4j.xml
│ ├── dubbo-registry-default
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── alibaba
│ │ │ │ └── dubbo
│ │ │ │ └── registry
│ │ │ │ └── dubbo
│ │ │ │ ├── DubboRegistryFactory.java
│ │ │ │ └── DubboRegistry.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── dubbo
│ │ │ └── internal
│ │ │ └── com.alibaba.dubbo.registry.RegistryFactory
│ │ └── test
│ │ ├── java
│ │ │ └── com
│ │ │ └── alibaba
│ │ │ └── dubbo
│ │ │ └── registry
│ │ │ └── dubbo
│ │ │ ├── AbstractRegistryService.java
│ │ │ ├── DemoService.java
│ │ │ ├── MockChannel.java
│ │ │ ├── MockedClient.java
│ │ │ ├── RegistryDirectoryTest.java
│ │ │ ├── RegistryProtocolTest.java
│ │ │ ├── RegistryStatusCheckerTest.java
│ │ │ ├── SimpleRegistryExporter.java
│ │ │ └── SimpleRegistryService.java
│ │ └── resources
│ │ └── log4j.xml
│ ├── dubbo-registry-multicast
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── alibaba
│ │ │ │ └── dubbo
│ │ │ │ └── registry
│ │ │ │ └── multicast
│ │ │ │ ├── MulticastRegistryFactory.java
│ │ │ │ └── MulticastRegistry.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── dubbo
│ │ │ └── internal
│ │ │ └── com.alibaba.dubbo.registry.RegistryFactory
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── alibaba
│ │ └── dubbo
│ │ └── registry
│ │ └── multicast
│ │ └── MulticastRegistryTest.java
│ ├── dubbo-registry-redis
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── alibaba
│ │ │ │ └── dubbo
│ │ │ │ └── registry
│ │ │ │ └── redis
│ │ │ │ ├── RedisRegistryFactory.java
│ │ │ │ └── RedisRegistry.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── dubbo
│ │ │ └── internal
│ │ │ └── com.alibaba.dubbo.registry.RegistryFactory
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── alibaba
│ │ └── dubbo
│ │ └── registry
│ │ └── redis
│ │ └── RedisRegistryTest.java
│ ├── dubbo-registry-zookeeper
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── alibaba
│ │ │ │ └── dubbo
│ │ │ │ └── registry
│ │ │ │ └── zookeeper
│ │ │ │ ├── ZookeeperRegistryFactory.java
│ │ │ │ └── ZookeeperRegistry.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── dubbo
│ │ │ └── internal
│ │ │ └── com.alibaba.dubbo.registry.RegistryFactory
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── alibaba
│ │ └── dubbo
│ │ └── registry
│ │ └── zookeeper
│ │ └── ZookeeperRegistryTest.java
│ └── pom.xml
├── dubbo-remoting
│ ├── dubbo-remoting-api
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── alibaba
│ │ │ │ └── dubbo
│ │ │ │ └── remoting
│ │ │ │ ├── buffer
│ │ │ │ │ ├── AbstractChannelBuffer.java
│ │ │ │ │ ├── ByteBufferBackedChannelBuffer.java
│ │ │ │ │ ├── ChannelBufferFactory.java
│ │ │ │ │ ├── ChannelBufferInputStream.java
│ │ │ │ │ ├── ChannelBuffer.java
│ │ │ │ │ ├── ChannelBufferOutputStream.java
│ │ │ │ │ ├── ChannelBuffers.java
│ │ │ │ │ ├── DirectChannelBufferFactory.java
│ │ │ │ │ ├── DynamicChannelBuffer.java
│ │ │ │ │ ├── HeapChannelBufferFactory.java
│ │ │ │ │ └── HeapChannelBuffer.java
│ │ │ │ ├── ChannelHandler.java
│ │ │ │ ├── Channel.java
│ │ │ │ ├── Client.java
│ │ │ │ ├── Codec2.java
│ │ │ │ ├── Codec.java
│ │ │ │ ├── Decodeable.java
│ │ │ │ ├── Dispatcher.java
│ │ │ │ ├── Endpoint.java
│ │ │ │ ├── exchange
│ │ │ │ │ ├── codec
│ │ │ │ │ │ └── ExchangeCodec.java
│ │ │ │ │ ├── ExchangeChannel.java
│ │ │ │ │ ├── ExchangeClient.java
│ │ │ │ │ ├── ExchangeHandler.java
│ │ │ │ │ ├── Exchanger.java
│ │ │ │ │ ├── Exchangers.java
│ │ │ │ │ ├── ExchangeServer.java
│ │ │ │ │ ├── Request.java
│ │ │ │ │ ├── ResponseCallback.java
│ │ │ │ │ ├── ResponseFuture.java
│ │ │ │ │ ├── Response.java
│ │ │ │ │ └── support
│ │ │ │ │ ├── DefaultFuture.java
│ │ │ │ │ ├── ExchangeHandlerAdapter.java
│ │ │ │ │ ├── ExchangeHandlerDispatcher.java
│ │ │ │ │ ├── ExchangeServerDelegate.java
│ │ │ │ │ ├── header
│ │ │ │ │ │ ├── HeaderExchangeChannel.java
│ │ │ │ │ │ ├── HeaderExchangeClient.java
│ │ │ │ │ │ ├── HeaderExchangeHandler.java
│ │ │ │ │ │ ├── HeaderExchanger.java
│ │ │ │ │ │ ├── HeaderExchangeServer.java
│ │ │ │ │ │ ├── HeartbeatHandler.java
│ │ │ │ │ │ └── HeartBeatTask.java
│ │ │ │ │ ├── MultiMessage.java
│ │ │ │ │ ├── ReplierDispatcher.java
│ │ │ │ │ ├── Replier.java
│ │ │ │ │ └── SimpleFuture.java
│ │ │ │ ├── ExecutionException.java
│ │ │ │ ├── RemotingException.java
│ │ │ │ ├── Server.java
│ │ │ │ ├── telnet
│ │ │ │ │ ├── codec
│ │ │ │ │ │ └── TelnetCodec.java
│ │ │ │ │ ├── support
│ │ │ │ │ │ ├── command
│ │ │ │ │ │ │ ├── ClearTelnetHandler.java
│ │ │ │ │ │ │ ├── ExitTelnetHandler.java
│ │ │ │ │ │ │ ├── HelpTelnetHandler.java
│ │ │ │ │ │ │ ├── LogTelnetHandler.java
│ │ │ │ │ │ │ └── StatusTelnetHandler.java
│ │ │ │ │ │ ├── Help.java
│ │ │ │ │ │ ├── TelnetHandlerAdapter.java
│ │ │ │ │ │ └── TelnetUtils.java
│ │ │ │ │ └── TelnetHandler.java
│ │ │ │ ├── TimeoutException.java
│ │ │ │ ├── transport
│ │ │ │ │ ├── AbstractChannelHandlerDelegate.java
│ │ │ │ │ ├── AbstractChannel.java
│ │ │ │ │ ├── AbstractClient.java
│ │ │ │ │ ├── AbstractCodec.java
│ │ │ │ │ ├── AbstractEndpoint.java
│ │ │ │ │ ├── AbstractPeer.java
│ │ │ │ │ ├── AbstractServer.java
│ │ │ │ │ ├── ChannelDelegate.java
│ │ │ │ │ ├── ChannelHandlerAdapter.java
│ │ │ │ │ ├── ChannelHandlerDelegate.java
│ │ │ │ │ ├── ChannelHandlerDispatcher.java
│ │ │ │ │ ├── ClientDelegate.java
│ │ │ │ │ ├── codec
│ │ │ │ │ │ ├── CodecAdapter.java
│ │ │ │ │ │ └── TransportCodec.java
│ │ │ │ │ ├── CodecSupport.java
│ │ │ │ │ ├── DecodeHandler.java
│ │ │ │ │ ├── dispatcher
│ │ │ │ │ │ ├── all
│ │ │ │ │ │ │ ├── AllChannelHandler.java
│ │ │ │ │ │ │ └── AllDispatcher.java
│ │ │ │ │ │ ├── ChannelEventRunnable.java
│ │ │ │ │ │ ├── ChannelHandlers.java
│ │ │ │ │ │ ├── connection
│ │ │ │ │ │ │ ├── ConnectionOrderedChannelHandler.java
│ │ │ │ │ │ │ └── ConnectionOrderedDispatcher.java
│ │ │ │ │ │ ├── direct
│ │ │ │ │ │ │ └── DirectDispatcher.java
│ │ │ │ │ │ ├── execution
│ │ │ │ │ │ │ ├── ExecutionChannelHandler.java
│ │ │ │ │ │ │ └── ExecutionDispatcher.java
│ │ │ │ │ │ ├── message
│ │ │ │ │ │ │ ├── MessageOnlyChannelHandler.java
│ │ │ │ │ │ │ └── MessageOnlyDispatcher.java
│ │ │ │ │ │ └── WrappedChannelHandler.java
│ │ │ │ │ ├── MultiMessageHandler.java
│ │ │ │ │ └── ServerDelegate.java
│ │ │ │ ├── Transporter.java
│ │ │ │ └── Transporters.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── dubbo
│ │ │ └── internal
│ │ │ ├── com.alibaba.dubbo.remoting.Codec2
│ │ │ ├── com.alibaba.dubbo.remoting.Dispatcher
│ │ │ ├── com.alibaba.dubbo.remoting.exchange.Exchanger
│ │ │ └── com.alibaba.dubbo.remoting.telnet.TelnetHandler
│ │ └── test
│ │ ├── java
│ │ │ └── com
│ │ │ └── alibaba
│ │ │ └── dubbo
│ │ │ └── remoting
│ │ │ ├── buffer
│ │ │ │ ├── AbstractChannelBufferTest.java
│ │ │ │ ├── ByteBufferBackedChannelBufferTest.java
│ │ │ │ ├── ChannelBufferStreamTest.java
│ │ │ │ ├── DirectChannelBufferTest.java
│ │ │ │ ├── DynamicChannelBufferTest.java
│ │ │ │ └── HeapChannelBufferTest.java
│ │ │ ├── ChanelHandlerTest.java
│ │ │ ├── codec
│ │ │ │ ├── AbstractMockChannel.java
│ │ │ │ ├── ExchangeCodecTest.java
│ │ │ │ └── TelnetCodecTest.java
│ │ │ ├── DemoServiceImpl.java
│ │ │ ├── DemoService.java
│ │ │ ├── exchange
│ │ │ │ └── support
│ │ │ │ └── header
│ │ │ │ ├── HeartBeatTaskTest.java
│ │ │ │ └── MockChannel.java
│ │ │ ├── handler
│ │ │ │ ├── ConnectChannelHandlerTest.java
│ │ │ │ ├── HeaderExchangeHandlerTest.java
│ │ │ │ ├── MockedChannelHandler.java
│ │ │ │ ├── MockedChannel.java
│ │ │ │ └── WrappedChannelHandlerTest.java
│ │ │ ├── Main.java
│ │ │ ├── MockResult.java
│ │ │ ├── PerformanceClientCloseTest.java
│ │ │ ├── PerformanceClientFixedTest.java
│ │ │ ├── PerformanceClientMain.java
│ │ │ ├── PerformanceClientTest.java
│ │ │ ├── PerformanceServerMain.java
│ │ │ ├── PerformanceServerTest.java
│ │ │ ├── PerformanceUtils.java
│ │ │ ├── RpcMessageHandler.java
│ │ │ ├── RpcMessage.java
│ │ │ ├── TelnetServer.java
│ │ │ └── transport
│ │ │ ├── AbstractCodecTest.java
│ │ │ └── codec
│ │ │ ├── CodecAdapterTest.java
│ │ │ ├── DeprecatedExchangeCodec.java
│ │ │ └── DeprecatedTelnetCodec.java
│ │ └── resources
│ │ └── log4j.xml
│ ├── dubbo-remoting-grizzly
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── alibaba
│ │ │ └── dubbo
│ │ │ └── remoting
│ │ │ └── transport
│ │ │ └── grizzly
│ │ │ ├── GrizzlyChannel.java
│ │ │ ├── GrizzlyClient.java
│ │ │ ├── GrizzlyCodecAdapter.java
│ │ │ ├── GrizzlyHandler.java
│ │ │ ├── GrizzlyServer.java
│ │ │ └── GrizzlyTransporter.java
│ │ └── resources
│ │ └── META-INF
│ │ └── dubbo
│ │ └── internal
│ │ └── com.alibaba.dubbo.remoting.Transporter
│ ├── dubbo-remoting-http
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── alibaba
│ │ │ └── dubbo
│ │ │ └── remoting
│ │ │ └── http
│ │ │ ├── HttpBinder.java
│ │ │ ├── HttpHandler.java
│ │ │ ├── HttpServer.java
│ │ │ ├── jetty
│ │ │ │ ├── JettyHttpBinder.java
│ │ │ │ └── JettyHttpServer.java
│ │ │ ├── servlet
│ │ │ │ ├── BootstrapListener.java
│ │ │ │ ├── DispatcherServlet.java
│ │ │ │ ├── ServletHttpBinder.java
│ │ │ │ ├── ServletHttpServer.java
│ │ │ │ └── ServletManager.java
│ │ │ ├── support
│ │ │ │ └── AbstractHttpServer.java
│ │ │ └── tomcat
│ │ │ ├── TomcatHttpBinder.java
│ │ │ └── TomcatHttpServer.java
│ │ └── resources
│ │ └── META-INF
│ │ └── dubbo
│ │ └── internal
│ │ └── com.alibaba.dubbo.remoting.http.HttpBinder
│ ├── dubbo-remoting-mina
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── alibaba
│ │ │ │ └── dubbo
│ │ │ │ └── remoting
│ │ │ │ └── transport
│ │ │ │ └── mina
│ │ │ │ ├── MinaChannel.java
│ │ │ │ ├── MinaClient.java
│ │ │ │ ├── MinaCodecAdapter.java
│ │ │ │ ├── MinaHandler.java
│ │ │ │ ├── MinaServer.java
│ │ │ │ └── MinaTransporter.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── dubbo
│ │ │ └── internal
│ │ │ └── com.alibaba.dubbo.remoting.Transporter
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── alibaba
│ │ └── remoting
│ │ └── transport
│ │ └── mina
│ │ ├── ClientsTest.java
│ │ ├── ClientToServerTest.java
│ │ ├── Hello.java
│ │ ├── MinaClientToServerTest.java
│ │ ├── WorldHandler.java
│ │ └── World.java
│ ├── dubbo-remoting-netty
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── alibaba
│ │ │ │ └── dubbo
│ │ │ │ └── remoting
│ │ │ │ └── transport
│ │ │ │ └── netty
│ │ │ │ ├── NettyBackedChannelBufferFactory.java
│ │ │ │ ├── NettyBackedChannelBuffer.java
│ │ │ │ ├── NettyChannel.java
│ │ │ │ ├── NettyClient.java
│ │ │ │ ├── NettyCodecAdapter.java
│ │ │ │ ├── NettyHandler.java
│ │ │ │ ├── NettyHelper.java
│ │ │ │ ├── NettyServer.java
│ │ │ │ └── NettyTransporter.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── dubbo
│ │ │ └── internal
│ │ │ └── com.alibaba.dubbo.remoting.Transporter
│ │ └── test
│ │ ├── java
│ │ │ └── com
│ │ │ └── alibaba
│ │ │ └── dubbo
│ │ │ └── remoting
│ │ │ ├── exchange
│ │ │ │ └── support
│ │ │ │ └── header
│ │ │ │ └── HeartbeatHandlerTest.java
│ │ │ └── transport
│ │ │ ├── dispatcher
│ │ │ │ └── FakeChannelHandlers.java
│ │ │ └── netty
│ │ │ ├── ClientReconnectTest.java
│ │ │ ├── ClientsTest.java
│ │ │ ├── ClientToServerTest.java
│ │ │ ├── Hello.java
│ │ │ ├── NettyClientTest.java
│ │ │ ├── NettyClientToServerTest.java
│ │ │ ├── NettyStringTest.java
│ │ │ ├── TelnetClientHandler.java
│ │ │ ├── TelnetServerHandler.java
│ │ │ ├── ThreadNameTest.java
│ │ │ ├── WorldHandler.java
│ │ │ └── World.java
│ │ └── resources
│ │ └── log4j.xml
│ ├── dubbo-remoting-p2p
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── alibaba
│ │ │ │ └── dubbo
│ │ │ │ └── remoting
│ │ │ │ └── p2p
│ │ │ │ ├── exchange
│ │ │ │ │ ├── ExchangeGroup.java
│ │ │ │ │ ├── ExchangeNetworker.java
│ │ │ │ │ ├── ExchangeNetworkers.java
│ │ │ │ │ ├── ExchangePeer.java
│ │ │ │ │ └── support
│ │ │ │ │ ├── AbstractExchangeGroup.java
│ │ │ │ │ ├── ExchangeServerPeer.java
│ │ │ │ │ ├── FileExchangeGroup.java
│ │ │ │ │ ├── FileExchangeNetworker.java
│ │ │ │ │ ├── MulticastExchangeGroup.java
│ │ │ │ │ └── MulticastExchangeNetworker.java
│ │ │ │ ├── Group.java
│ │ │ │ ├── Networker.java
│ │ │ │ ├── Networkers.java
│ │ │ │ ├── Peer.java
│ │ │ │ └── support
│ │ │ │ ├── AbstractGroup.java
│ │ │ │ ├── FileGroup.java
│ │ │ │ ├── FileNetworker.java
│ │ │ │ ├── MulticastGroup.java
│ │ │ │ ├── MulticastNetworker.java
│ │ │ │ └── ServerPeer.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── dubbo
│ │ │ └── internal
│ │ │ └── com.alibaba.dubbo.remoting.p2p.Networker
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── alibaba
│ │ └── dubbo
│ │ └── remoting
│ │ └── p2p
│ │ └── PeerMain.java
│ ├── dubbo-remoting-zookeeper
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── alibaba
│ │ │ └── dubbo
│ │ │ └── remoting
│ │ │ └── zookeeper
│ │ │ ├── ChildListener.java
│ │ │ ├── curator
│ │ │ │ ├── CuratorZookeeperClient.java
│ │ │ │ └── CuratorZookeeperTransporter.java
│ │ │ ├── StateListener.java
│ │ │ ├── support
│ │ │ │ └── AbstractZookeeperClient.java
│ │ │ ├── zkclient
│ │ │ │ ├── ZkclientZookeeperClient.java
│ │ │ │ └── ZkclientZookeeperTransporter.java
│ │ │ ├── ZookeeperClient.java
│ │ │ └── ZookeeperTransporter.java
│ │ └── resources
│ │ └── META-INF
│ │ └── dubbo
│ │ └── internal
│ │ └── com.alibaba.dubbo.remoting.zookeeper.ZookeeperTransporter
│ └── pom.xml
├── dubbo-rpc
│ ├── dubbo-rpc-api
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── alibaba
│ │ │ │ └── dubbo
│ │ │ │ └── rpc
│ │ │ │ ├── Exporter.java
│ │ │ │ ├── ExporterListener.java
│ │ │ │ ├── filter
│ │ │ │ │ ├── AccessLogFilter.java
│ │ │ │ │ ├── ActiveLimitFilter.java
│ │ │ │ │ ├── ClassLoaderFilter.java
│ │ │ │ │ ├── CompatibleFilter.java
│ │ │ │ │ ├── ConsumerContextFilter.java
│ │ │ │ │ ├── ContextFilter.java
│ │ │ │ │ ├── DeprecatedFilter.java
│ │ │ │ │ ├── EchoFilter.java
│ │ │ │ │ ├── ExceptionFilter.java
│ │ │ │ │ ├── ExecuteLimitFilter.java
│ │ │ │ │ ├── GenericFilter.java
│ │ │ │ │ ├── GenericImplFilter.java
│ │ │ │ │ ├── TimeoutFilter.java
│ │ │ │ │ ├── TokenFilter.java
│ │ │ │ │ ├── tps
│ │ │ │ │ │ ├── DefaultTPSLimiter.java
│ │ │ │ │ │ ├── StatItem.java
│ │ │ │ │ │ └── TPSLimiter.java
│ │ │ │ │ └── TpsLimitFilter.java
│ │ │ │ ├── Filter.java
│ │ │ │ ├── Invocation.java
│ │ │ │ ├── Invoker.java
│ │ │ │ ├── InvokerListener.java
│ │ │ │ ├── listener
│ │ │ │ │ ├── DeprecatedInvokerListener.java
│ │ │ │ │ ├── ExporterListenerAdapter.java
│ │ │ │ │ ├── InvokerListenerAdapter.java
│ │ │ │ │ ├── ListenerExporterWrapper.java
│ │ │ │ │ └── ListenerInvokerWrapper.java
│ │ │ │ ├── protocol
│ │ │ │ │ ├── AbstractExporter.java
│ │ │ │ │ ├── AbstractInvoker.java
│ │ │ │ │ ├── AbstractProtocol.java
│ │ │ │ │ ├── AbstractProxyProtocol.java
│ │ │ │ │ ├── InvokerWrapper.java
│ │ │ │ │ ├── ProtocolFilterWrapper.java
│ │ │ │ │ └── ProtocolListenerWrapper.java
│ │ │ │ ├── Protocol.java
│ │ │ │ ├── proxy
│ │ │ │ │ ├── AbstractProxyFactory.java
│ │ │ │ │ ├── AbstractProxyInvoker.java
│ │ │ │ │ ├── InvokerInvocationHandler.java
│ │ │ │ │ ├── javassist
│ │ │ │ │ │ └── JavassistProxyFactory.java
│ │ │ │ │ ├── jdk
│ │ │ │ │ │ └── JdkProxyFactory.java
│ │ │ │ │ └── wrapper
│ │ │ │ │ └── StubProxyFactoryWrapper.java
│ │ │ │ ├── ProxyFactory.java
│ │ │ │ ├── Result.java
│ │ │ │ ├── RpcConstants.java
│ │ │ │ ├── RpcContext.java
│ │ │ │ ├── RpcException.java
│ │ │ │ ├── RpcInvocation.java
│ │ │ │ ├── RpcResult.java
│ │ │ │ ├── RpcStatus.java
│ │ │ │ ├── service
│ │ │ │ │ ├── EchoService.java
│ │ │ │ │ ├── GenericException.java
│ │ │ │ │ └── GenericService.java
│ │ │ │ ├── ServiceClassHolder.java
│ │ │ │ ├── StaticContext.java
│ │ │ │ └── support
│ │ │ │ ├── DelegateExporter.java
│ │ │ │ ├── DelegateInvoker.java
│ │ │ │ ├── MockInvoker.java
│ │ │ │ ├── MockProtocol.java
│ │ │ │ ├── ProtocolUtils.java
│ │ │ │ └── RpcUtils.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── dubbo
│ │ │ └── internal
│ │ │ ├── com.alibaba.dubbo.rpc.Filter
│ │ │ ├── com.alibaba.dubbo.rpc.InvokerListener
│ │ │ ├── com.alibaba.dubbo.rpc.Protocol
│ │ │ └── com.alibaba.dubbo.rpc.ProxyFactory
│ │ └── test
│ │ ├── java
│ │ │ └── com
│ │ │ └── alibaba
│ │ │ └── dubbo
│ │ │ └── rpc
│ │ │ ├── CustomArgument.java
│ │ │ ├── DemoRequest.java
│ │ │ ├── filter
│ │ │ │ ├── AccessLogFilterTest.java
│ │ │ │ ├── ActiveLimitFilterTest.java
│ │ │ │ ├── CompatibleFilterFilterTest.java
│ │ │ │ ├── ConsumerContextFilterTest.java
│ │ │ │ ├── ContextFilterTest.java
│ │ │ │ ├── DeprecatedFilterTest.java
│ │ │ │ ├── EchoFilterTest.java
│ │ │ │ ├── ExceptionFilterTest.java
│ │ │ │ ├── tps
│ │ │ │ │ └── StatItemTest.java
│ │ │ │ └── TpsLimitFilterTest.java
│ │ │ ├── ProtocolUtils.java
│ │ │ ├── proxy
│ │ │ │ ├── DemoRequest.java
│ │ │ │ ├── DemoServiceImpl.java
│ │ │ │ ├── DemoService.java
│ │ │ │ ├── RemoteServiceImpl.java
│ │ │ │ ├── RemoteService.java
│ │ │ │ └── Type.java
│ │ │ └── support
│ │ │ ├── DemoServiceImpl.java
│ │ │ ├── DemoService.java
│ │ │ ├── IEcho.java
│ │ │ ├── MockInvocation.java
│ │ │ ├── MyInvoker.java
│ │ │ ├── Person.java
│ │ │ ├── RpcUtilsTest.java
│ │ │ └── Type.java
│ │ └── resources
│ │ └── log4j.xml
│ ├── dubbo-rpc-default
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── alibaba
│ │ │ │ └── dubbo
│ │ │ │ └── rpc
│ │ │ │ └── protocol
│ │ │ │ └── dubbo
│ │ │ │ ├── CallbackServiceCodec.java
│ │ │ │ ├── ChannelWrappedInvoker.java
│ │ │ │ ├── DecodeableRpcInvocation.java
│ │ │ │ ├── DecodeableRpcResult.java
│ │ │ │ ├── DubboCodec.java
│ │ │ │ ├── DubboCountCodec.java
│ │ │ │ ├── DubboExporter.java
│ │ │ │ ├── DubboInvoker.java
│ │ │ │ ├── DubboProtocol.java
│ │ │ │ ├── filter
│ │ │ │ │ ├── FutureFilter.java
│ │ │ │ │ └── TraceFilter.java
│ │ │ │ ├── FutureAdapter.java
│ │ │ │ ├── LazyConnectExchangeClient.java
│ │ │ │ ├── page
│ │ │ │ │ ├── ClientsPageHandler.java
│ │ │ │ │ └── ServersPageHandler.java
│ │ │ │ ├── ReferenceCountExchangeClient.java
│ │ │ │ ├── status
│ │ │ │ │ ├── ServerStatusChecker.java
│ │ │ │ │ └── ThreadPoolStatusChecker.java
│ │ │ │ └── telnet
│ │ │ │ ├── ChangeTelnetHandler.java
│ │ │ │ ├── CountTelnetHandler.java
│ │ │ │ ├── CurrentTelnetHandler.java
│ │ │ │ ├── InvokeTelnetHandler.java
│ │ │ │ ├── ListTelnetHandler.java
│ │ │ │ ├── LogTelnetHandler.java
│ │ │ │ ├── PortTelnetHandler.java
│ │ │ │ └── TraceTelnetHandler.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── dubbo
│ │ │ └── internal
│ │ │ ├── com.alibaba.dubbo.common.status.StatusChecker
│ │ │ ├── com.alibaba.dubbo.container.page.PageHandler
│ │ │ ├── com.alibaba.dubbo.remoting.Codec2
│ │ │ ├── com.alibaba.dubbo.remoting.telnet.TelnetHandler
│ │ │ ├── com.alibaba.dubbo.rpc.Filter
│ │ │ └── com.alibaba.dubbo.rpc.Protocol
│ │ └── test
│ │ ├── java
│ │ │ └── com
│ │ │ └── alibaba
│ │ │ └── dubbo
│ │ │ └── rpc
│ │ │ └── protocol
│ │ │ └── dubbo
│ │ │ ├── DubboInvokerAvilableTest.java
│ │ │ ├── DubboLazyConnectTest.java
│ │ │ ├── DubboProtocolTest.java
│ │ │ ├── ExplicitCallbackTest.java
│ │ │ ├── FutureFilterTest.java
│ │ │ ├── ImplicitCallBackTest.java
│ │ │ ├── MultiThreadTest.java
│ │ │ ├── ReferenceCountExchangeClientTest.java
│ │ │ ├── RpcFilterTest.java
│ │ │ ├── support
│ │ │ │ ├── CustomArgument.java
│ │ │ │ ├── DemoRequest.java
│ │ │ │ ├── DemoServiceImpl.java
│ │ │ │ ├── DemoService.java
│ │ │ │ ├── EnumBak.java
│ │ │ │ ├── NonSerialized.java
│ │ │ │ ├── Person.java
│ │ │ │ ├── ProtocolUtils.java
│ │ │ │ ├── RemoteServiceImpl.java
│ │ │ │ ├── RemoteService.java
│ │ │ │ └── Type.java
│ │ │ └── telnet
│ │ │ ├── ChangeTelnetHandlerTest.java
│ │ │ ├── CurrentTelnetHandlerTest.java
│ │ │ ├── InvokerTelnetHandlerTest.java
│ │ │ ├── ListTelnetHandlerTest.java
│ │ │ ├── LogTelnetHandlerTest.java
│ │ │ └── PortTelnetHandlerTest.java
│ │ └── resources
│ │ └── log4j.xml
│ ├── dubbo-rpc-hessian
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── alibaba
│ │ │ │ └── dubbo
│ │ │ │ └── rpc
│ │ │ │ └── protocol
│ │ │ │ └── hessian
│ │ │ │ ├── HessianProtocol.java
│ │ │ │ ├── HttpClientConnectionFactory.java
│ │ │ │ └── HttpClientConnection.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── dubbo
│ │ │ └── internal
│ │ │ └── com.alibaba.dubbo.rpc.Protocol
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── alibaba
│ │ └── dubbo
│ │ └── rpc
│ │ └── protocol
│ │ └── hessian
│ │ ├── HessianProtocolTest.java
│ │ ├── HessianServiceImpl.java
│ │ └── HessianService.java
│ ├── dubbo-rpc-http
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── alibaba
│ │ │ └── dubbo
│ │ │ └── rpc
│ │ │ └── protocol
│ │ │ └── http
│ │ │ └── HttpProtocol.java
│ │ └── resources
│ │ └── META-INF
│ │ └── dubbo
│ │ └── internal
│ │ └── com.alibaba.dubbo.rpc.Protocol
│ ├── dubbo-rpc-injvm
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── alibaba
│ │ │ │ └── dubbo
│ │ │ │ └── rpc
│ │ │ │ └── protocol
│ │ │ │ └── injvm
│ │ │ │ ├── InjvmExporter.java
│ │ │ │ ├── InjvmInvoker.java
│ │ │ │ └── InjvmProtocol.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── dubbo
│ │ │ └── internal
│ │ │ └── com.alibaba.dubbo.rpc.Protocol
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── alibaba
│ │ └── dubbo
│ │ └── rpc
│ │ └── protocol
│ │ └── injvm
│ │ ├── DemoRequest.java
│ │ ├── DemoServiceImpl.java
│ │ ├── DemoService.java
│ │ ├── IEcho.java
│ │ ├── InjvmProtocolTest.java
│ │ ├── ProtocolTest.java
│ │ └── Type.java
│ ├── dubbo-rpc-memcached
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── alibaba
│ │ │ └── dubbo
│ │ │ └── rpc
│ │ │ └── protocol
│ │ │ └── memcached
│ │ │ └── MemcachedProtocol.java
│ │ └── resources
│ │ └── META-INF
│ │ └── dubbo
│ │ └── internal
│ │ └── com.alibaba.dubbo.rpc.Protocol
│ ├── dubbo-rpc-redis
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── alibaba
│ │ │ └── dubbo
│ │ │ └── rpc
│ │ │ └── protocol
│ │ │ └── redis
│ │ │ └── RedisProtocol.java
│ │ └── resources
│ │ └── META-INF
│ │ └── dubbo
│ │ └── internal
│ │ └── com.alibaba.dubbo.rpc.Protocol
│ ├── dubbo-rpc-rest
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── alibaba
│ │ │ └── dubbo
│ │ │ └── rpc
│ │ │ └── protocol
│ │ │ └── rest
│ │ │ ├── BaseRestServer.java
│ │ │ ├── DubboHttpServer.java
│ │ │ ├── DubboResourceFactory.java
│ │ │ ├── NettyServer.java
│ │ │ ├── RestConstraintViolation.java
│ │ │ ├── RestProtocol.java
│ │ │ ├── RestServerFactory.java
│ │ │ ├── RestServer.java
│ │ │ ├── RpcContextFilter.java
│ │ │ ├── RpcExceptionMapper.java
│ │ │ ├── SunHttpServer.java
│ │ │ ├── support
│ │ │ │ ├── ContentType.java
│ │ │ │ └── LoggingFilter.java
│ │ │ ├── TjwsServer.java
│ │ │ ├── UndertowServer.java
│ │ │ └── ViolationReport.java
│ │ └── resources
│ │ └── META-INF
│ │ └── dubbo
│ │ └── internal
│ │ └── com.alibaba.dubbo.rpc.Protocol
│ ├── dubbo-rpc-rmi
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── alibaba
│ │ │ │ └── dubbo
│ │ │ │ └── rpc
│ │ │ │ └── protocol
│ │ │ │ └── rmi
│ │ │ │ └── RmiProtocol.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── dubbo
│ │ │ └── internal
│ │ │ └── com.alibaba.dubbo.rpc.Protocol
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── alibaba
│ │ └── dubbo
│ │ └── rpc
│ │ └── protocol
│ │ └── rmi
│ │ ├── DemoServiceImpl.java
│ │ ├── DemoService.java
│ │ ├── RemoteServiceImpl.java
│ │ ├── RemoteService.java
│ │ ├── RmiProtocolTest.java
│ │ └── Type.java
│ ├── dubbo-rpc-thrift
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── alibaba
│ │ │ │ └── dubbo
│ │ │ │ └── rpc
│ │ │ │ └── protocol
│ │ │ │ └── thrift
│ │ │ │ ├── ClassNameGenerator.java
│ │ │ │ ├── DubboClassNameGenerator.java
│ │ │ │ ├── ext
│ │ │ │ │ └── MultiServiceProcessor.java
│ │ │ │ ├── io
│ │ │ │ │ ├── InputStreamWrapper.java
│ │ │ │ │ └── RandomAccessByteArrayOutputStream.java
│ │ │ │ ├── ThriftClassNameGenerator.java
│ │ │ │ ├── ThriftCodec.java
│ │ │ │ ├── ThriftConstants.java
│ │ │ │ ├── ThriftInvoker.java
│ │ │ │ ├── ThriftNativeCodec.java
│ │ │ │ ├── ThriftProtocol.java
│ │ │ │ ├── ThriftType.java
│ │ │ │ └── ThriftUtils.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── dubbo
│ │ │ └── internal
│ │ │ ├── com.alibaba.dubbo.remoting.Codec2
│ │ │ ├── com.alibaba.dubbo.rpc.Protocol
│ │ │ └── com.alibaba.dubbo.rpc.protocol.thrift.ClassNameGenerator
│ │ └── test
│ │ ├── java
│ │ │ ├── $__ClassNameTestDubboStub.java
│ │ │ ├── ClassNameTestDubbo.java
│ │ │ ├── ClassNameTest.java
│ │ │ ├── ClassNameTestThrift.java
│ │ │ └── com
│ │ │ └── alibaba
│ │ │ └── dubbo
│ │ │ └── rpc
│ │ │ ├── gen
│ │ │ │ ├── dubbo
│ │ │ │ │ ├── $__DemoStub.java
│ │ │ │ │ └── Demo.java
│ │ │ │ └── thrift
│ │ │ │ └── Demo.java
│ │ │ └── protocol
│ │ │ └── thrift
│ │ │ ├── AbstractTest.java
│ │ │ ├── DemoImpl.java
│ │ │ ├── DubboDemoImpl.java
│ │ │ ├── examples
│ │ │ │ ├── DubboDemoConsumer.java
│ │ │ │ └── DubboDemoProvider.java
│ │ │ ├── FramedTransportFactory.java
│ │ │ ├── MockedChannel.java
│ │ │ ├── ServerExceptionTest.java
│ │ │ ├── ServiceMethodNotFoundTest.java
│ │ │ ├── ThriftCodecTest.java
│ │ │ ├── ThriftDemoImpl.java
│ │ │ ├── ThriftProtocolTest.java
│ │ │ └── ThriftUtilsTest.java
│ │ ├── resources
│ │ │ ├── dubbo-demo-consumer.xml
│ │ │ └── dubbo-demo-provider.xml
│ │ └── thrift
│ │ ├── ClassNameTestDubbo.thrift
│ │ ├── ClassNameTestThrift.thrift
│ │ └── Demo.thrift
│ ├── dubbo-rpc-webservice
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── alibaba
│ │ │ └── dubbo
│ │ │ └── rpc
│ │ │ └── protocol
│ │ │ └── webservice
│ │ │ └── WebServiceProtocol.java
│ │ └── resources
│ │ └── META-INF
│ │ └── dubbo
│ │ └── internal
│ │ └── com.alibaba.dubbo.rpc.Protocol
│ └── pom.xml
├── dubbo-simple
│ ├── dubbo-monitor-simple
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ │ ├── assembly
│ │ │ │ ├── assembly.xml
│ │ │ │ └── conf
│ │ │ │ └── dubbo.properties
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── alibaba
│ │ │ │ └── dubbo
│ │ │ │ └── monitor
│ │ │ │ └── simple
│ │ │ │ ├── CountUtils.java
│ │ │ │ ├── pages
│ │ │ │ │ ├── ApplicationsPageHandler.java
│ │ │ │ │ ├── ChartsPageHandler.java
│ │ │ │ │ ├── ConsumersPageHandler.java
│ │ │ │ │ ├── DependenciesPageHandler.java
│ │ │ │ │ ├── HostsPageHandler.java
│ │ │ │ │ ├── ProvidersPageHandler.java
│ │ │ │ │ ├── ServicesPageHandler.java
│ │ │ │ │ ├── StatisticsPageHandler.java
│ │ │ │ │ ├── UnregisterPageHandler.java
│ │ │ │ │ └── UnsubscribePageHandler.java
│ │ │ │ ├── RegistryContainer.java
│ │ │ │ └── SimpleMonitorService.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ ├── dubbo
│ │ │ │ └── internal
│ │ │ │ ├── com.alibaba.dubbo.container.Container
│ │ │ │ └── com.alibaba.dubbo.container.page.PageHandler
│ │ │ └── spring
│ │ │ └── dubbo-monitor-simple.xml
│ │ └── test
│ │ ├── java
│ │ │ └── com
│ │ │ └── alibaba
│ │ │ └── dubbo
│ │ │ └── monitor
│ │ │ └── simple
│ │ │ ├── SimpleMonitor.java
│ │ │ └── SimpleMonitorServiceTest.java
│ │ └── resources
│ │ ├── dubbo.properties
│ │ └── log4j.xml
│ ├── dubbo-registry-simple
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ │ ├── assembly
│ │ │ │ ├── assembly.xml
│ │ │ │ └── conf
│ │ │ │ └── dubbo.properties
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── alibaba
│ │ │ │ └── dubbo
│ │ │ │ └── registry
│ │ │ │ └── simple
│ │ │ │ └── SimpleRegistryService.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── spring
│ │ │ └── dubbo-registry-simple.xml
│ │ └── test
│ │ ├── java
│ │ │ └── com
│ │ │ └── alibaba
│ │ │ └── dubbo
│ │ │ └── registry
│ │ │ └── simple
│ │ │ ├── SimpleRegistry.java
│ │ │ └── SimpleRegistryServiceTest.java
│ │ └── resources
│ │ ├── dubbo.properties
│ │ └── log4j.xml
│ └── pom.xml
├── dubbo-test
│ ├── dubbo-test-benchmark
│ │ ├── pom.xml
│ │ └── src
│ │ ├── assembly
│ │ │ ├── dev.xml
│ │ │ └── release.xml
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── alibaba
│ │ │ │ └── dubbo
│ │ │ │ └── rpc
│ │ │ │ └── benchmark
│ │ │ │ ├── AbstractBenchmarkClient.java
│ │ │ │ ├── AbstractBenchmarkServer.java
│ │ │ │ ├── AbstractClientRunnable.java
│ │ │ │ ├── BenchmarkClient.java
│ │ │ │ ├── BenchmarkServer.java
│ │ │ │ ├── ClientRunnable.java
│ │ │ │ ├── DemoServiceImpl.java
│ │ │ │ ├── DemoService.java
│ │ │ │ ├── ExchangeClientFactory.java
│ │ │ │ ├── RequestObject.java
│ │ │ │ ├── ResponseObject.java
│ │ │ │ ├── RpcBenchmarkClient.java
│ │ │ │ ├── RpcBenchmarkServer.java
│ │ │ │ ├── RpcClient.java
│ │ │ │ ├── ServiceFactory.java
│ │ │ │ └── SimpleProcessorBenchmarkClientRunnable.java
│ │ │ └── resources
│ │ │ ├── dubbo.properties
│ │ │ ├── ProviderSample.xml
│ │ │ ├── ReadMe.txt
│ │ │ ├── run.bat
│ │ │ └── run.sh
│ │ └── test
│ │ ├── backup
│ │ │ ├── BenchmarkRunner.java
│ │ │ └── Dubbo.java
│ │ ├── java
│ │ │ └── com
│ │ │ └── jingdong
│ │ │ └── client
│ │ │ └── DemoBenchmarkClientRunnable.java
│ │ └── resources
│ │ ├── dubbo-default.properties
│ │ ├── log4j.properties
│ │ └── server
│ │ ├── dubborpcserver.sh
│ │ ├── dubboserver.sh
│ │ └── servercommon.sh
│ ├── dubbo-test-benchmark-api
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ └── java
│ │ └── com
│ │ └── alibaba
│ │ └── dubbo
│ │ └── rpc
│ │ └── benchmark
│ │ ├── BidRequest.java
│ │ ├── BidResponse.java
│ │ ├── Device.java
│ │ ├── EchoService.java
│ │ ├── Geo.java
│ │ ├── Impression.java
│ │ ├── SeatBid.java
│ │ ├── SerializationOptimizerImpl.java
│ │ └── Text.java
│ ├── dubbo-test-benchmark-client
│ │ ├── pom.xml
│ │ └── src
│ │ ├── assembly
│ │ │ └── assembly.xml
│ │ ├── cli
│ │ │ ├── run.bat
│ │ │ └── run.sh
│ │ └── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── alibaba
│ │ │ └── dubbo
│ │ │ └── rpc
│ │ │ └── benchmark
│ │ │ ├── AbstractBenchmarkClient.java
│ │ │ ├── AbstractClientRunnable.java
│ │ │ ├── BidClientRunnable.java
│ │ │ ├── ClientRunnable.java
│ │ │ ├── RpcBenchmarkClient.java
│ │ │ ├── ServiceFactory.java
│ │ │ └── TextClientRunnable.java
│ │ └── resources
│ │ ├── dubbo.properties
│ │ ├── log4j.xml
│ │ └── META-INF
│ │ └── cxf
│ │ └── org.apache.cxf.Logger
│ ├── dubbo-test-benchmark-server
│ │ ├── pom.xml
│ │ └── src
│ │ ├── assembly
│ │ │ └── assembly.xml
│ │ ├── cli
│ │ │ ├── run.bat
│ │ │ └── run.sh
│ │ └── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── alibaba
│ │ │ └── dubbo
│ │ │ └── rpc
│ │ │ └── benchmark
│ │ │ ├── EchoServiceImpl.java
│ │ │ └── Main.java
│ │ ├── resources
│ │ │ ├── log4j.xml
│ │ │ └── META-INF
│ │ │ ├── cxf
│ │ │ │ └── org.apache.cxf.Logger
│ │ │ └── spring
│ │ │ └── dubbo-provider.xml
│ │ └── webapp
│ │ └── WEB-INF
│ │ └── web.xml
│ ├── dubbo-test-compatibility
│ │ └── pom.xml
│ ├── dubbo-test-examples
│ │ ├── pom.xml
│ │ └── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── alibaba
│ │ │ │ └── dubbo
│ │ │ │ └── examples
│ │ │ │ ├── annotation
│ │ │ │ │ ├── action
│ │ │ │ │ │ └── AnnotationAction.java
│ │ │ │ │ ├── AnnotationConsumer.java
│ │ │ │ │ ├── annotation-consumer.xml
│ │ │ │ │ ├── AnnotationProvider.java
│ │ │ │ │ ├── annotation-provider.xml
│ │ │ │ │ ├── api
│ │ │ │ │ │ └── AnnotationService.java
│ │ │ │ │ └── impl
│ │ │ │ │ └── AnnotationServiceImpl.java
│ │ │ │ ├── aop
│ │ │ │ │ ├── action
│ │ │ │ │ │ └── AopAnnotationAction.java
│ │ │ │ │ ├── annotation-consumer.xml
│ │ │ │ │ ├── annotation-provider.xml
│ │ │ │ │ ├── AopAnnotationConsumer.java
│ │ │ │ │ ├── AopAnnotationProvider.java
│ │ │ │ │ ├── aop-aspect.xml
│ │ │ │ │ ├── api
│ │ │ │ │ │ └── AopAnnotationService.java
│ │ │ │ │ ├── aspect
│ │ │ │ │ │ └── AnnotationAspect.java
│ │ │ │ │ └── impl
│ │ │ │ │ └── AopAnnotationServiceImpl.java
│ │ │ │ ├── async
│ │ │ │ │ ├── api
│ │ │ │ │ │ └── AsyncService.java
│ │ │ │ │ ├── AsyncConsumer.java
│ │ │ │ │ ├── async-consumer.xml
│ │ │ │ │ ├── AsyncProvider.java
│ │ │ │ │ ├── async-provider.xml
│ │ │ │ │ └── impl
│ │ │ │ │ └── AsyncServiceImpl.java
│ │ │ │ ├── cache
│ │ │ │ │ ├── api
│ │ │ │ │ │ └── CacheService.java
│ │ │ │ │ ├── CacheConsumer.java
│ │ │ │ │ ├── cache-consumer.xml
│ │ │ │ │ ├── CacheProvider.java
│ │ │ │ │ ├── cache-provider.xml
│ │ │ │ │ └── impl
│ │ │ │ │ └── CacheServiceImpl.java
│ │ │ │ ├── callback
│ │ │ │ │ ├── api
│ │ │ │ │ │ ├── CallbackListener.java
│ │ │ │ │ │ └── CallbackService.java
│ │ │ │ │ ├── CallbackConsumer.java
│ │ │ │ │ ├── callback-consumer.xml
│ │ │ │ │ ├── CallbackProvider.java
│ │ │ │ │ ├── callback-provider.xml
│ │ │ │ │ └── impl
│ │ │ │ │ └── CallbackServiceImpl.java
│ │ │ │ ├── generic
│ │ │ │ │ ├── api
│ │ │ │ │ │ ├── IService.java
│ │ │ │ │ │ └── IUserService.java
│ │ │ │ │ ├── GenericConsumer.java
│ │ │ │ │ ├── generic-consumer.xml
│ │ │ │ │ ├── GenericProvider.java
│ │ │ │ │ ├── generic-provider.xml
│ │ │ │ │ └── impl
│ │ │ │ │ └── UserServiceImpl.java
│ │ │ │ ├── heartbeat
│ │ │ │ │ ├── api
│ │ │ │ │ │ └── HelloService.java
│ │ │ │ │ ├── HeartbeatClient.java
│ │ │ │ │ ├── HeartbeatConsumer.java
│ │ │ │ │ ├── heartbeat-consumer.xml
│ │ │ │ │ ├── HeartBeatExchangeHandler.java
│ │ │ │ │ ├── HeartbeatProvider.java
│ │ │ │ │ ├── heartbeat-provider.xml
│ │ │ │ │ ├── HeartbeatServer.java
│ │ │ │ │ └── impl
│ │ │ │ │ └── HelloServiceImpl.java
│ │ │ │ ├── jackson
│ │ │ │ │ ├── api
│ │ │ │ │ │ ├── AbstractInheritBean.java
│ │ │ │ │ │ ├── InheritBean2.java
│ │ │ │ │ │ ├── InheritBean.java
│ │ │ │ │ │ ├── Inherit.java
│ │ │ │ │ │ ├── JacksonBean.java
│ │ │ │ │ │ ├── JacksonInnerBean.java
│ │ │ │ │ │ └── JacksonService.java
│ │ │ │ │ ├── impl
│ │ │ │ │ │ └── JacksonServiceImpl.java
│ │ │ │ │ ├── JacksonConsumer.java
│ │ │ │ │ ├── jackson-consumer.xml
│ │ │ │ │ ├── jacksonprovider
│ │ │ │ │ │ └── CustomJacksonObjectMapperProvider.java
│ │ │ │ │ ├── JacksonProvider.java
│ │ │ │ │ └── jackson-provider.xml
│ │ │ │ ├── memcached
│ │ │ │ │ ├── MemcachedConsumer.java
│ │ │ │ │ └── memcached-consumer.xml
│ │ │ │ ├── merge
│ │ │ │ │ ├── api
│ │ │ │ │ │ └── MergeService.java
│ │ │ │ │ ├── impl
│ │ │ │ │ │ ├── MergeServiceImpl2.java
│ │ │ │ │ │ ├── MergeServiceImpl3.java
│ │ │ │ │ │ └── MergeServiceImpl.java
│ │ │ │ │ ├── MergeConsumer2.java
│ │ │ │ │ ├── merge-consumer2.xml
│ │ │ │ │ ├── MergeConsumer.java
│ │ │ │ │ ├── merge-consumer.xml
│ │ │ │ │ ├── MergeProvider2.java
│ │ │ │ │ ├── merge-provider2.xml
│ │ │ │ │ ├── MergeProvider.java
│ │ │ │ │ └── merge-provider.xml
│ │ │ │ ├── redis
│ │ │ │ │ ├── RedisConsumer.java
│ │ │ │ │ └── redis-consumer.xml
│ │ │ │ ├── validation
│ │ │ │ │ ├── api
│ │ │ │ │ │ ├── ValidationParameter.java
│ │ │ │ │ │ └── ValidationService.java
│ │ │ │ │ ├── impl
│ │ │ │ │ │ └── ValidationServiceImpl.java
│ │ │ │ │ ├── ValidationConsumer.java
│ │ │ │ │ ├── validation-consumer.xml
│ │ │ │ │ ├── ValidationProvider.java
│ │ │ │ │ └── validation-provider.xml
│ │ │ │ └── version
│ │ │ │ ├── api
│ │ │ │ │ └── VersionService.java
│ │ │ │ ├── impl
│ │ │ │ │ ├── VersionServiceImpl2.java
│ │ │ │ │ └── VersionServiceImpl.java
│ │ │ │ ├── VersionConsumer.java
│ │ │ │ ├── version-consumer.xml
│ │ │ │ ├── VersionProvider2.java
│ │ │ │ ├── version-provider2.xml
│ │ │ │ ├── VersionProvider.java
│ │ │ │ └── version-provider.xml
│ │ │ └── resources
│ │ │ ├── log4j.xml
│ │ │ └── META-INF
│ │ │ └── dubbo
│ │ │ └── com.alibaba.dubbo.common.json.JacksonObjectMapperProvider
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── alibaba
│ │ └── dubbo
│ │ └── examples
│ │ ├── annotation
│ │ │ └── AnnotationTest.java
│ │ └── validation
│ │ └── ValidationTest.java
│ ├── dubbo-test-integration
│ │ └── pom.xml
│ └── pom.xml
├── dubbo-tool
│ ├── dubbo-demo-lite
│ │ ├── dubbo-demo-lite-api
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ └── main
│ │ │ └── java
│ │ │ └── com
│ │ │ └── alibaba
│ │ │ └── dubbo
│ │ │ └── demolite
│ │ │ ├── extension
│ │ │ │ ├── ClientTraceFilter.java
│ │ │ │ ├── CustomExceptionMapper.java
│ │ │ │ ├── DynamicTraceBinding.java
│ │ │ │ ├── DynamicTraceInterceptor.java
│ │ │ │ ├── TraceFilter.java
│ │ │ │ └── TraceInterceptor.java
│ │ │ ├── SerializationOptimizerImpl.java
│ │ │ └── user
│ │ │ ├── facade
│ │ │ │ ├── RegistrationResult.java
│ │ │ │ └── UserRestService.java
│ │ │ ├── User.java
│ │ │ └── UserService.java
│ │ ├── dubbo-demo-lite-consumer
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ ├── main
│ │ │ │ ├── assembly
│ │ │ │ │ ├── assembly.xml
│ │ │ │ │ └── conf
│ │ │ │ │ └── dubbo.properties
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ └── alibaba
│ │ │ │ │ └── dubbo
│ │ │ │ │ └── demolite
│ │ │ │ │ └── consumer
│ │ │ │ │ └── DemoAction.java
│ │ │ │ └── resources
│ │ │ │ └── META-INF
│ │ │ │ └── spring
│ │ │ │ ├── dubbo-demo-lite-action.xml
│ │ │ │ └── dubbo-demo-lite-consumer.xml
│ │ │ └── test
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── alibaba
│ │ │ │ └── dubbo
│ │ │ │ └── demolite
│ │ │ │ └── consumer
│ │ │ │ ├── DemoConsumer.java
│ │ │ │ └── RestClient.java
│ │ │ └── resources
│ │ │ └── log4j.xml
│ │ ├── dubbo-demo-lite-provider
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ └── alibaba
│ │ │ │ │ └── dubbo
│ │ │ │ │ └── demolite
│ │ │ │ │ └── user
│ │ │ │ │ ├── facade
│ │ │ │ │ │ └── UserRestServiceImpl.java
│ │ │ │ │ └── UserServiceImpl.java
│ │ │ │ ├── resources
│ │ │ │ │ ├── log4j.xml
│ │ │ │ │ └── META-INF
│ │ │ │ │ └── spring
│ │ │ │ │ └── dubbo-demo-lite-provider.xml
│ │ │ │ └── webapp
│ │ │ │ └── WEB-INF
│ │ │ │ └── web.xml
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── alibaba
│ │ │ └── dubbo
│ │ │ └── demolite
│ │ │ └── provider
│ │ │ └── DemoProvider.java
│ │ └── pom.xml
│ └── dubbo-demo-lite-archetype
│ ├── pom.xml
│ ├── readme.md
│ └── src
│ ├── main
│ │ └── resources
│ │ ├── archetype-resources
│ │ │ ├── pom.xml
│ │ │ ├── __rootArtifactId__-api
│ │ │ │ ├── pom.xml
│ │ │ │ └── src
│ │ │ │ └── main
│ │ │ │ └── java
│ │ │ │ ├── extension
│ │ │ │ │ ├── ClientTraceFilter.java
│ │ │ │ │ ├── CustomExceptionMapper.java
│ │ │ │ │ ├── DynamicTraceBinding.java
│ │ │ │ │ ├── DynamicTraceInterceptor.java
│ │ │ │ │ ├── TraceFilter.java
│ │ │ │ │ └── TraceInterceptor.java
│ │ │ │ ├── SerializationOptimizerImpl.java
│ │ │ │ └── user
│ │ │ │ ├── facade
│ │ │ │ │ ├── RegistrationResult.java
│ │ │ │ │ └── UserRestService.java
│ │ │ │ ├── User.java
│ │ │ │ └── UserService.java
│ │ │ ├── __rootArtifactId__-consumer
│ │ │ │ ├── pom.xml
│ │ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ │ ├── assembly
│ │ │ │ │ │ ├── assembly.xml
│ │ │ │ │ │ └── conf
│ │ │ │ │ │ └── dubbo.properties
│ │ │ │ │ ├── java
│ │ │ │ │ │ └── consumer
│ │ │ │ │ │ └── DemoAction.java
│ │ │ │ │ └── resources
│ │ │ │ │ └── META-INF
│ │ │ │ │ └── spring
│ │ │ │ │ ├── dubbo-demo-lite-action.xml
│ │ │ │ │ └── dubbo-demo-lite-consumer.xml
│ │ │ │ └── test
│ │ │ │ ├── java
│ │ │ │ │ └── consumer
│ │ │ │ │ ├── DemoConsumer.java
│ │ │ │ │ └── RestClient.java
│ │ │ │ └── resources
│ │ │ │ └── log4j.xml
│ │ │ └── __rootArtifactId__-provider
│ │ │ ├── pom.xml
│ │ │ └── src
│ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── user
│ │ │ │ │ ├── facade
│ │ │ │ │ │ └── UserRestServiceImpl.java
│ │ │ │ │ └── UserServiceImpl.java
│ │ │ │ ├── resources
│ │ │ │ │ ├── log4j.xml
│ │ │ │ │ └── META-INF
│ │ │ │ │ └── spring
│ │ │ │ │ └── dubbo-demo-lite-provider.xml
│ │ │ │ └── webapp
│ │ │ │ └── WEB-INF
│ │ │ │ └── web.xml
│ │ │ └── test
│ │ │ └── java
│ │ │ └── provider
│ │ │ └── DemoProvider.java
│ │ └── META-INF
│ │ └── maven
│ │ └── archetype-metadata.xml
│ └── test
│ └── resources
│ └── projects
│ └── basic
│ └── archetype.properties
├── hessian-lite
│ ├── pom.xml
│ └── src
│ └── main
│ └── java
│ └── com
│ └── alibaba
│ └── com
│ └── caucho
│ └── hessian
│ ├── HessianException.java
│ ├── io
│ │ ├── AbstractDeserializer.java
│ │ ├── AbstractHessianInput.java
│ │ ├── AbstractHessianOutput.java
│ │ ├── AbstractHessianResolver.java
│ │ ├── AbstractListDeserializer.java
│ │ ├── AbstractMapDeserializer.java
│ │ ├── AbstractSerializerFactory.java
│ │ ├── AbstractSerializer.java
│ │ ├── ArrayDeserializer.java
│ │ ├── ArraySerializer.java
│ │ ├── BasicDeserializer.java
│ │ ├── BasicSerializer.java
│ │ ├── BeanDeserializer.java
│ │ ├── BeanSerializerFactory.java
│ │ ├── BeanSerializer.java
│ │ ├── BigIntegerDeserializer.java
│ │ ├── CalendarHandle.java
│ │ ├── CalendarSerializer.java
│ │ ├── ClassDeserializer.java
│ │ ├── ClassSerializer.java
│ │ ├── CollectionDeserializer.java
│ │ ├── CollectionSerializer.java
│ │ ├── Deflation.java
│ │ ├── Deserializer.java
│ │ ├── EnumDeserializer.java
│ │ ├── EnumerationDeserializer.java
│ │ ├── EnumerationSerializer.java
│ │ ├── EnumSerializer.java
│ │ ├── EnvelopeFactory.java
│ │ ├── ExtSerializerFactory.java
│ │ ├── Hessian2Constants.java
│ │ ├── Hessian2Input.java
│ │ ├── Hessian2Output.java
│ │ ├── Hessian2StreamingInput.java
│ │ ├── Hessian2StreamingOutput.java
│ │ ├── HessianDebugInputStream.java
│ │ ├── HessianDebugOutputStream.java
│ │ ├── HessianDebugState.java
│ │ ├── HessianEnvelope.java
│ │ ├── HessianFieldException.java
│ │ ├── HessianHandle.java
│ │ ├── HessianInputFactory.java
│ │ ├── HessianInput.java
│ │ ├── HessianOutput.java
│ │ ├── HessianProtocolException.java
│ │ ├── HessianRemote.java
│ │ ├── HessianRemoteObject.java
│ │ ├── HessianRemoteResolver.java
│ │ ├── HessianSerializerInput.java
│ │ ├── HessianSerializerOutput.java
│ │ ├── HessianServiceException.java
│ │ ├── InputStreamDeserializer.java
│ │ ├── InputStreamSerializer.java
│ │ ├── IOExceptionWrapper.java
│ │ ├── IteratorSerializer.java
│ │ ├── JavaDeserializer.java
│ │ ├── JavaSerializer.java
│ │ ├── LocaleHandle.java
│ │ ├── LocaleSerializer.java
│ │ ├── MapDeserializer.java
│ │ ├── MapSerializer.java
│ │ ├── ObjectDeserializer.java
│ │ ├── RemoteSerializer.java
│ │ ├── SerializerFactory.java
│ │ ├── Serializer.java
│ │ ├── SqlDateDeserializer.java
│ │ ├── SqlDateSerializer.java
│ │ ├── StackTraceElementDeserializer.java
│ │ ├── StringValueDeserializer.java
│ │ ├── StringValueSerializer.java
│ │ ├── ThrowableSerializer.java
│ │ └── ValueDeserializer.java
│ ├── security
│ │ ├── X509Encryption.java
│ │ └── X509Signature.java
│ └── util
│ ├── IdentityIntMap.java
│ └── IntMap.java
├── LICENSE
├── NOTICE
├── pom.xml
└── README.md
1378 directories, 1894 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论