You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@dubbo.apache.org by "MoneyHacker (GitHub)" <gi...@apache.org> on 2018/12/21 09:23:19 UTC

[GitHub] [incubator-dubbo] MoneyHacker opened issue #3045: dubbo config配置简化,与spring集成方式调整

一 目的
简化,重构现有dubbo 初始化逻辑和与spring 集成繁杂代码
二 设计思路
1.将Dubbo XXXConfig简化为POJO, Dubbo相关配置用初始化完全可以抽象成Bean,交给Spring 完成初始化(后期也可以维护DubboBeanFactory)
2.将Bean 暴露和远程Bean 引入单独为相应的模块SPI,将暴露和引入逻辑抽象成单独类和方法,不应该参杂在Config中
3.废弃DubboBeanDefinitionParser,DubboNamespaceHandler,Dubbo各种配置,本质也是Bean,只是在初始化完成后需要进一步处理,可抽扩展点ServiceExporter,ServiceImporter来实现.所有dubbo配置都可以作为spring bean进行配置
4 部署
应该将Dubbo初始化维在Dubbo内部,后期可设计Dubbo自己的BeanFactory,不依赖Spring时,只需要修改扩展点ServiceExporter,ServiceImporter

三 调整内容
1. 引入扩展点ServiceExporter,ServiceImporter
2.废弃DubboBeanDefinitionParser,DubboNamespaceHandler,将Dubbo各种Config简化成Bean,由容器管理
3.修改ServiceConfig,ReferenceConfig删除与Spring 内部接口的依赖

四 规化
1. 重新调整Dubbo各种Config,进一步简化为POJO,将暴露和引用逻辑交给扩展点ServiceExporter,ServiceImporter
2.可仿Spring BeanFactory设计一套Dubbo BeanFactory

五 说明
目前只是本地测试Demo可正常启动,细节未完全调整,涉及代码较多,
代码:https://github.com/MoneyHacker/incubator-dubbo.git 分支 feature_with_spring


[ Full content available at: https://github.com/apache/incubator-dubbo/issues/3045 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org