目录
dubbo使用xml配置
在搭建了dubbo管理平台和zookeeper注册中心之后就可以用分布式的思想来构建我们的项目了。
一般分布式项目由多个服务提供者组成,并且有不同的服务消费者去调用接口,服务消费者可以调用多个服务提供者,服务消费者可以存在多个。
而这里提供一个使用xml进行配置
实现的小demo。
服务提供者搭建配置
-
引入依赖
使用dubbo,必须导入两个依赖,
dubbo
依赖和zookeeper客户端
依赖。<!--引入dubbo--> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.6.2</version> </dependency> <!--操作zookeeper的客户端,dubbo2.6以前只用zkclient,dubbo2.6以后使用curator-framework--> <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-framework</artifactId> <version>2.12.0</version> </dependency>
-
写服务接口
public class ProviderServiceImpl implements ProviderService { @Override public String hello(String name) { System.out.println("服务提供者接受到的name参数为:"+name); Message message = new Message("这是一条消息","状态ok"); return message.toString(); } }
-
写Spring配置文件
provider.xml
配置dubbo参数<?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://dubbo.apache.org/schema/dubbo" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd"> <!-- 提供方应用信息,用于计算依赖关系 --> <dubbo:application name="spring-provider" /> <!-- 使用multicast广播注册中心暴露服务地址 --> <dubbo:registry address="zookeeper://127.0.0.1:2181" /> <!-- 用dubbo协议在20880端口暴露服务 --> <dubbo:protocol name="dubbo" port="20880" /> <!-- 声明需要暴露的服务接口 --> <dubbo:service interface="com.lyj.service.ProviderService" ref="providerService" /> <!-- 注入容器 --> <bean id="providerService" class="com.lyj.service.ProviderServiceImpl"/> <!-- 监控中心设置 --> <dubbo:monitor protocol="registry"></dubbo:monitor> </beans>
-
加载配置
public class ProviderMainApplication { public static void main(String[] args) throws IOException { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("provider.xml"); context.start(); System.in.read(); //读取阻塞 } }
这样的配置下,服务提供者就已经在zookeeper注册完成,并且向外部暴露了自身的ProviderService接口。
服务消费者搭建配置
-
引入依赖
使用dubbo,必须导入两个依赖,
dubbo
依赖和zookeeper客户端
依赖。<!--引入dubbo--> <dependency>