以下纯个人经历,不成体系,如有需求需要百度;具体步骤
一、pom.xml文件导入依赖
<!-此处是引入需要导入的jar包,需要调用的dubbo接口是放在这个jarbao下面的--> <dependency> <groupId>com.xxx.xxx</groupId> <artifactId>xxx-req-management-api</artifactId> <version>1.0.0-SNAPSHOT</version> </dependency> <!-- alibaba的dubbo包,也可以用apacha的 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.6.5</version> </dependency> <!-- ZooKeeper主要服务于分布式系统,做统一配置管理、统一命名服务、分布式锁、集群管理等杂活儿,简单说就是个分布式框架的”管家“--> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.5.6</version> </dependency> <!-- 个人理解:也是一个用到操作Zookeeper的jar包 --> <dependency> <groupId>com.101tec</groupId> <artifactId>zkclient</artifactId> <version>0.10</version> </dependency> <!-- 提供了一个抽象级别更高的API,来操作Zookeeper --> <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-framework</artifactId> <version>5.1.0</version> </dependency>
二、编写配置信息
在SSM的配置文件里面写好注册中心的地址,以及端口号,可以通过注入的方式动态管理dev、prd访问地址; 在项目名.config目录下的配置文件写入信息,(我的是applicatin-dev.properties文件)如: #dubbo的zookeeper配置 xxx.dubbo.registry.port=8090 xxx.dubbo.registry.address=zookeeper://168.63.65.196:2182?backup=168.63.65.197:2182,168.63.65.198:2182 注:多ip需要用逗号隔开
三、编写位置的xml文件
注:我的xmu文件名是dubbo-config.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="agiletp-consumer"/> <!--配置注册中心的地址,可以百度以下参数的意思,参数是通过第二步的配置文件注入进来的--> <dubbo:registry id="agiletp-registry" address="${xxx.dubbo.registry.address}" port="${xxx.dubbo.registry.port}" timeout="30000" check="false"/> <!--这一步是将需要访问的jar包中的暴露的Service接入到当前项目--> <dubbo:reference id="dxxxProjectExternalService" interface="com.xxx.dpmp.external.api.DpmpProjectExternalService" registry="agiletp-registry" timeout="60000" check="false" reconnect="false" version="1.0.0" retries="0"/> </beans>
四、将dubbo配置在SpringBoot启动类上注入
config目录下:根据路径访问dubbo-config.xml文件 @ImportResource({"file:config/dubbo-config.xml"}) resource路径下:根据路径访问dubbo-config.xml文件 @ImportResource("classpath:dubbo-config.xml") classpath是指springboot项目的resourse路径
五、注入Service,调用方法即可
到这一步已经完成了dubbo接口配置的基本步骤,剩下的jar调用就和普通的service方法一致了,卓阳注解注入service
@Autowired private DxxxProjectExternalService dxxxProjectExternalService;