Dubbo
本文介绍Dubbo使用
如果你要编写dubbo服务,建议如下分包:
###macula-cart-api 对外的服务接口,需要在src/main/resources/META-INF/macula-cart-api-consumer.xml中,引入
<dubbo:reference id="demoApi" interface="org.macula.cart.api.DemoApi" version="2.0.0" check="false" />
这样第三方引用这个API包的时候,加载xml就可以自动获取到dubbo的reference
###macula-cart-api-impl 接口实现,这里可以调用repository做数据库的操作。定义如下配置文件:
- src/main/resources/META-INF/macula-cart-api-impl-app.xml
<context:component-scan base-package="org.macula.cart.api.impl" />
用于扫描注解。
- src/main/resources/META-INF/macula-cart-api-impl-provider.xml
<dubbo:service interface="org.macula.cart.api.DemoApi" ref="demoApiImpl" version="2.0.0" />
用于定义dubbo服务
src/main/resources/configs/applicationContext-app.xml
与webapp中的作用相同
src/main/resources/包含
- applicationContext-root.xml
- macula.properties
- log4j.properties
- ehcache.xml
作用基本与webapp中的相同,只是需要注意数据源的配置
###macula-cart-repository 数据存取层
###macula-cart-result 数据返回结果VO
###注意 建议dubbo服务不要依赖macula-base包,这样的话,就不需要定义macula数据源到dubbo中,也就是说dubbo服务可以不用访问macula数据库。