阿里dubbo框架使用系列:服务提供者和消费者的创建和使用
来源:互联网 发布:工作淘宝客服怎么样 编辑:程序博客网 时间:2024/06/06 03:21
新建一个maven工程
创建一个服务接口
package com.pcx.dubbo_facade;public interface DemoService { String sayHello(String name);}
运行 clean install打包dubbo-facade
接下来创建 dubbo-provider 工程
在pom.xml里面引用刚才的服务接口的jar包
<span style="white-space:pre"></span><dependency><groupId>com.pcx</groupId> <span style="white-space:pre"></span><artifactId>dubbo-facade</artifactId> <version>0.0.1-SNAPSHOT</version></dependency>
编写服务实现类
package com.pcx.dubbo_prodiver;import org.springframework.stereotype.Service;import com.pcx.dubbo_facade.DemoService;@Service("demoService")public class DemoServiceImpl implements DemoService {public String sayHello(String name) {return "Hello " + name;}}
在resource目录下编写两个spring配置文件
dubbo-provider.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="dubbo-demo-provider" /><!--zk注册中心的地址--><dubbo:registry protocol="zookeeper" address="192.168.1.10:2181" /><!-- 用dubbo协议在21000端口暴露服务 --><dubbo:protocol name="dubbo" port="21000" /><!-- 配置服务接口 --><dubbo:service interface="com.pcx.dubbo_facade.DemoService" ref="demoService" /></beans>
spring-context.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:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd"default-autowire="byName" default-lazy-init="false"><!-- 采用注释的方式配置bean --><context:annotation-config /><!-- 配置要扫描的包的路径 --><context:component-scan base-package="com.pcx" /><import resource="dubbo-provider.xml" /></beans>在src/test/java路径下编写测试类启动dubbo服务
package com.pcx.dubbo_prodiver;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.springframework.context.support.ClassPathXmlApplicationContext;public class DubboProvider {private static final Log log = LogFactory.getLog(DubboProvider.class);public static void main(String[] args) {try {ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:spring-context.xml");context.start();} catch (Exception e) {log.error("== DubboProvider context start error:",e);}synchronized (DubboProvider.class) {while (true) {try {DubboProvider.class.wait();} catch (InterruptedException e) {log.error("== synchronized error:",e);}}}}}
运行这个测试类,我们可以在dubbo控制台看到我们暴露的服务
创建一个新工程名为dobbo-consumer
在pom.xml下依赖我们的服务接口的jar包
<span style="white-space:pre"></span><dependency><groupId>com.pcx</groupId> <artifactId>dubbo-facade</artifactId> <version>0.0.1-SNAPSHOT</version></dependency>
在src/main/resource/目录下新增两个spring配置文件
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="dubbo-demo-consumer" /><!-- 填写zk注册中心的地址 --><dubbo:registry protocol="zookeeper" address="192.168.1.10:2181" /><!-- 引用服务提供接口的路径 --><dubbo:reference interface="com.pcx.dubbo_facade.DemoService" id="demoService" check="false" /></beans>
spring-context.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:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd"><import resource="dubbo-consumer.xml" /></beans>
编写调用服务的测试类在src/test/java
package com.pcx.dubbo_consumer;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.pcx.dubbo_facade.DemoService;public class Consumer { private static final Log log = LogFactory.getLog(Consumer.class); public static void main(String[] args) throws InterruptedException { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:spring-context.xml"); context.start(); DemoService demoService = (DemoService)context.getBean("demoService"); String hello = demoService.sayHello("world"); log.info("打印"+hello); Thread.sleep(100000); }}运行测试类
调用成功
此时可以在dubbo控制台看到相关信息
0 0
- 阿里dubbo框架使用系列:服务提供者和消费者的创建和使用
- 【Dubbo分布式服务框架】2.基于配置的服务提供者和消费者
- 【Dubbo分布式服务框架】3.基于注解的服务提供者和消费者
- 【Dubbo分布式服务框架】4.基于API配置的服务提供者和消费者
- Dubbo服务提供者和消费者配置
- Dubbo服务环境搭建以及Dubbo服务的提供者和消费者配置详解
- Dubbo服务环境搭建以及Dubbo服务的提供者和消费者配置详解
- 使用maven创建dubbo的提供者
- 阿里dubbo框架使用系列:简介
- dubbo做服务治理,搭建服务提供者provider和消费者consumer
- dubbo简单搭建及dubbo提供者和消费者demo
- dubbo 人工管理服务提供者的上线和下线
- 阿里dubbo框架使用系列:开发环境搭建之dubbo控制台的安装
- 使用dubbo+maven搭建消费者跟提供者(附源码)
- dubbo 4 服务消费者到提供者过程
- Spring cloud服务发现之服务提供者和服务消费者
- 关于dubbo的提供者(provider)和消费者(custom)异常捕获的问题
- 将服务提供者和服务消费者注册到eureka server
- 图像处理图库
- LTE下行物理层传输机制(1)-天线端口Antenna Port和小区特定参考信号CRS
- Java JSONObject后首字母变小写的问题
- Java多线程编程7--实例--顺序打印3次ABC
- MVC框架的映射和解耦
- 阿里dubbo框架使用系列:服务提供者和消费者的创建和使用
- 推荐两款搜索神器
- Oracle 11g笔记——视图、同义词
- android-----Fragment之间的通信
- ios 打全局的Log日志
- 数字图像处理常用的图片库下载
- 如何查看原始访问日志
- 苏格拉底与那个失恋的孩子
- 采取web service传输超大数据