dubbo在gitHub上的地址是https://github.com/apache/incubator-dubbo
dubbo 容器
启动提供端的服务,Main.main(args);
- log4j容器
- spring容器
SpringContainer.start()
扫描META-INF/spring下的xml
public void start() {
String configPath = ConfigUtils.getProperty("dubbo.spring.config");
if (configPath == null || configPath.length() == 0) {
configPath = "classpath*:META-INF/spring/*.xml";
}
context = new ClassPathXmlApplicationContext(
configPath.split("[,\\s]+"));
context.start();
}
解析dubbo命名空间
下载导入到idea中,里面有个dubbo-config的项目
dubbo-config-spring下面有个spring.handlers,在spring中会根据这个配置文件寻找到别的命名空间 。
http://code.alibabatech.com/schema/dubbo=com.alibaba.dubbo.config.spring.schema
.DubboNamespaceHandler
/**提供端service
<dubbo:service interface="com.insaic.ecs.service.ECOrderService"
ref="ecOrderServiceImpl" version="1.0.0" />
**/
registerBeanDefinitionParser("service", new
DubboBeanDefinitionParser(ServiceBean.class, true));
/**
消费端
<dubbo:reference interface="com.insaic.udp.service.UbiTripLabelService"
id="ubiTripLabelService" version="1.0.0"/>
**/
registerBeanDefinitionParser("reference", new
DubboBeanDefinitionParser(ReferenceBean.class, false));