Dubbo学习(三)服务调用
来源:互联网 发布:外贸数据应用 编辑:程序博客网 时间:2024/06/04 22:30
上篇说了如何进行服务的发布,这篇来说一说服务调用
- 代码结构
2.pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.levin.dubbo.client</groupId> <artifactId>dubbo-client</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>dubbo-client</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.5.3</version> </dependency> <dependency> <groupId>org.javassist</groupId> <artifactId>javassist</artifactId> <version>3.18.1-GA</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.15</version> <exclusions> <exclusion> <groupId>com.sun.jdmk</groupId> <artifactId>jmxtools</artifactId> </exclusion> <exclusion> <groupId>com.sun.jmx</groupId> <artifactId>jmxri</artifactId> </exclusion> <exclusion> <artifactId>jms</artifactId> <groupId>javax.jms</groupId> </exclusion> <exclusion> <artifactId>mail</artifactId> <groupId>javax.mail</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.2.2.RELEASE</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.6</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.6.1</version> </dependency> <dependency> <groupId>com.github.sgroschupf</groupId> <artifactId>zkclient</artifactId> <version>0.1</version> </dependency> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.5</version> <type>pom</type> </dependency> <dependency> <groupId>com.levin.dubbo.server</groupId> <artifactId>dubbo-server</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> </dependencies></project>
Consumer.java
package com.levin.dubbo.client.dubbo_client;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.levin.dubbo.server.Provider;public class Consumer { public static void main(String[] args) { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[]{"applicationConsumer.xml"}); context.start(); // 获取服务器那边的bean Provider provider = (Provider) context.getBean("provider"); System.out.println(provider.sayHello()); }}
applicationConsumer.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 "> <!-- consumer application name --> <dubbo:application name="dubbo-client" /> <!-- registry address, used for consumer to discover services --> <dubbo:registry address="zookeeper://192.168.1.201:2181" /> <dubbo:consumer timeout="5000" /> <!-- which service to consume? --> <dubbo:reference id="provider" interface="com.levin.dubbo.server.Provider" /></beans>
运行Consumer中的Main方法,Consumer会从registry上发现提供者的地址,并且与提供者建立长连接调用远程方法并且返回。
如果调用后成功打印
The first Dubbo Service
那么说明服务调用已经可以正常使用了。
下篇说一下Dubbo的服务分组
0 0
- Dubbo学习(三)服务调用
- dubbo学习(三)-dubbo的服务发布
- 命令行调用dubbo服务
- Dubbo服务调用问题
- 【dubbo】dubbo服务注册三种方式
- dubbo 服务的调用堆栈-- 学习dubbo启动后执行逻辑和代码
- dubbo 远程服务无法调用
- dubbo 远程服务调用流程
- Dubbo 服务调用原理浅析
- dubbo 源码学习笔记 (三) —— dubbo引用服务的过程
- dubbo 服务的consumer client 调用堆栈 调用链 -- 学习dubbo启动后执行逻辑和代码
- dubbo泛化调用 http接口 随意调用dubbo服务
- Dubbo学习(十三):服务降级
- 分布式服务--dubbo学习一
- 分布式服务--dubbo学习二
- Dubbo学习(二)服务注册
- Dubbo学习(四)服务分组
- PHP 调用Java Dubbo服务(Dubbo、Hessian、JsonRPC)
- STRUTS系列之 工作原理
- 技术积累20170415(3)
- CUDA Pro Tip: Increase Performance with Vectorized Memory Access
- java_方法重载_覆盖
- 腾讯后台开发实习生1面+2面
- Dubbo学习(三)服务调用
- 19:最低通行费
- Python中多进程之间的数据共享
- 3575: [Hnoi2014]道路堵塞
- IM系统设计
- Android 退出APP应用常用方式
- MATLAB中读取文件夹中多组图像的方法
- Unix环境高级编程读书笔记(3)
- 第四章