近期,本公司有个旧的spring系统需要调用新系统的dubbo服务,在网上找了好久,也查阅了不少资料,总算能够顺利调通了。在此我总结一下:
首先,得引用dubbo的一些依赖jar包,不管是maven项目还是非maven项目都需要(demo我后期在上传,jar包在本人资源里有上传)。
引入完jar包后,还得引入所需调用dubbo服务的api包。
然后,因为是作为调用方,所以得加入一个dubbo的消费者配置文件(在spring配置文件的同级目录下添加即可),我项目中的配置文件applicationContext-dubbo-consumer.xml(仅供参考):
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<dubbo:application name="ibs_consumer" />
<!-- 使用zookeeper注册中心暴露服务地址 -->
<dubbo:registry address="${dubbo.registry.address}"/>
<dubbo:reference id="wallbcOpenapi102TransRpcService"
interface="com.gnete.wallbc.rpc.WallbcOpenapi102TransRpcService"
version="1.0.1" check="false" timeout="10000"/>
<dubbo:reference id="wallbcOpenapi102QueryRpcService"
interface="com.gnete.wallbc.rpc.WallbcOpenapi102QueryRpcService"
version="1.0.1" check="false" timeout="10000"/>
</beans>
最后,再把这些要用到的Service注入进你本地项目的Service类里面即可,注入的方法和普通的Service一样。
好了,至此就是配置完成了。至于怎么使用的话,就是取到dubbo服务的Service处理类,就可随便操作了。