1. 服务提供方(Provider)
spring-service-bean.xml (定义本地 Bean):
<context:annotation-config/>
<!-- 定义本地 Bean -->
<bean id="authService" class="com.plx.device.app.service.impl.AuthServiceImpl" />
spring-service-provider.xml (暴露 Dubbo 服务):
<dubbo:application name="app-provider"></dubbo:application>
<dubbo:registry address="${dubbo.zookeeper.address}"></dubbo:registry>
<dubbo:protocol name="dubbo" port="${dubbo.protocal.port}" />
<!-- 暴露 Dubbo 服务 -->
<dubbo:service interface="com.plx.device.app.service.IAuthService"
ref="authService" <!-- 这里的 ref 必须和上面 bean 的 id 一致 -->
version="1.1.1" group="app" />
2. 服务消费方(Consumer)
spring-consumer.xml (引用 Dubbo 服务):
<dubbo:application name="app-consumer"></dubbo:application>
<dubbo:registry address="${dubbo.zookeeper.address}"></dubbo:registry>
<!-- 引用 Dubbo 服务 -->
<dubbo:reference id="authService" <!-- 这里定义的 id -->
interface="com.plx.device.app.service.IAuthService"
version="1.1.1" group="app" />
然后在代码中使用:
<dubbo:reference id="authService" <!-- 这里定义的 id -->
interface="com.plx.device.app.service.IAuthService"
version="1.1.1" group="app" />
## 总结
-
提供方 : dubbo:service 的 ref 必须指向本地 bean 的 id
-
消费方 : dubbo:reference 的 id 可以自定义,但要与代码中 @Autowired 的变量名匹配(或者用 @Qualifier 指定)