`

消费Dubbo服务

阅读更多
1. 消费Dubbo服务

new maven project -->
new simple maven project -->
Group Id:com.andrew
Artifact Id: dubbo-demo-consumer
Version: 0.0.1-SNAPSHOT
Packaging:War
jdk版本1.8

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.andrew</groupId>
  <artifactId>dubbo-demo-consumer</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  
  <dependencies>
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>dubbo</artifactId>
        <version>2.6.0</version>
    </dependency>
    <dependency>
        <groupId>com.101tec</groupId>
        <artifactId>zkclient</artifactId>
        <version>0.10</version>
    </dependency>
    <dependency>
        <groupId>org.apache.curator</groupId>
        <artifactId>curator-framework</artifactId>
        <version>4.0.1</version>
    </dependency>
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.46</version>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.25</version>
    </dependency>
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.4</version>
    </dependency>
    <dependency>
        <groupId>io.netty</groupId>
        <artifactId>netty-all</artifactId>
        <version>4.0.35.Final</version>
    </dependency>
  </dependencies>
</project>

src/main/java/com/andrew/service/DemoProviderService.java

package com.andrew.service;
public interface DemoProviderService {
    public String sayHello(String name);
}

src/main/resources/dubbo-demo-consumer.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
       xmlns="http://www.springframework.org/schema/beans"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
       http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">

    <!-- 消费方应用名称,用于计算依赖关系,不是匹配条件,不要与提供方名称一样  -->
    <dubbo:application name="demo-consumer"/>

    <!-- 使用zookeeper注册中心暴露服务地址 -->
    <dubbo:registry address="zookeeper://127.0.0.1:2181"/>

    <!-- 生成远程服务代理,可以与本地bean一样使用  check属性,启动时候是否检查 一般设置成false 启动时候不检查 -->
    <dubbo:reference id="demoProviderService" check="false" interface="com.andrew.service.DemoProviderService"/>

</beans>

src/test/java/com/andrew/ConsumerTest.java

package com.andrew;
import java.io.IOException;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.andrew.service.DemoProviderService;
public class ConsumerTest {
    public static void main(String[] args) {
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[] { "dubbo-demo-consumer.xml" });
        context.start();
        DemoProviderService demoProviderService = (DemoProviderService) context.getBean("demoProviderService");
        String result = demoProviderService.sayHello("你好");
        System.out.println("远程调用的结果:" + result);
        try {
            System.in.read();
        } catch (IOException e) {
            e.printStackTrace();
        }
        context.close();
    }
}

运行结果:




运行ConsumerTest.java
远程调用的结果:服务001






  • 大小: 17.4 KB
  • 大小: 37.3 KB
  • 大小: 16.8 KB
分享到:
评论

相关推荐

    dubbo 服务提供方 服务消费方

    本篇文章将深入探讨Dubbo服务提供方(Provider)和服务消费方(Consumer)的核心概念、实现原理以及如何通过代码进行交互。 1. **Dubbo服务提供方(Provider)** - **服务注册与发现**:服务提供方在启动时,会将...

    dubbo服务和消费

    《Dubbo服务与消费详解》 Dubbo,作为阿里巴巴开源的一款高性能、轻量级的Java RPC框架,已经在分布式系统领域广泛应用。本项目基于Maven构建,涵盖了服务提供者(Provider)和服务消费者(Consumer)两个核心组件...

    dubbo以及ZK的demo

    在本资源包中,`demo1`和`demo2`很可能是Dubbo服务的示例代码,你可以通过运行这些示例来学习如何创建和消费Dubbo服务。 2. **Zookeeper**:Apache ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它...

    springboot + dubbo + LCN分布式事务 demo

    - dubbo_a_demo:这可能是一个服务消费者(Consumer)的示例,演示了如何在SpringBoot项目中消费Dubbo服务。 在本项目中,开发者可以学习如何配置SpringBoot应用来启用Dubbo服务,创建服务提供者和消费者,以及如何...

    Dubbo服务提供者以及消费者实例

    在这个实例中,我们将深入理解Dubbo服务提供者和服务消费者的运作模式。 首先,我们来探讨服务提供者(Provider)。在Dubbo中,服务提供者是指实现了某些功能并愿意对外提供服务的组件。服务提供者需要完成以下关键...

    dubbo的例子

    "dubboconsumertest"可能是服务消费者的测试类,展示了如何在应用中消费Dubbo服务。它可能包含了配置服务引用、调用远程服务方法以及处理返回结果的相关代码。而"dubboprovidertest"则可能是服务提供者的测试类,这...

    dubbo使用例子

    1. `dubbo_test_client`:这很可能是示例中的客户端代码,用于演示如何消费Dubbo服务。在Dubbo中,客户端通常负责发起远程调用,通过服务接口与服务提供者进行通信。这部分代码可能会包含服务引用(Service ...

    Dubbo+Maven消费方和服务费

    - 使用@Service注解标记服务实现类,声明为Dubbo服务。 - 在启动时,服务提供者会自动向注册中心注册自己的服务。 2. **服务消费者配置**: - 消费者的Maven项目同样需要包含Dubbo和Spring的依赖。 - 创建...

    dubbo服务注册到eureka.zip

    - 启动 Dubbo 服务消费者,通过调用服务接口进行测试,验证服务发现功能是否正常。 完成以上步骤后,Dubbo 服务就可以顺利地注册到 Eureka 中,实现服务的动态注册与发现。这种集成方式有助于在微服务架构中构建更...

    dubbo提供者和消费者工程

    在配置Dubbo服务时,我们还需要关注几个关键参数,例如: 1. `application`:定义当前应用的信息,如名称、版本等。 2. `registry`:定义服务注册中心,可以是Zookeeper、Eureka等。 3. `protocol`:定义服务使用的...

    【课后笔记】Apache Dubbo服务注册及服务消费源码分析

    服务消费阶段,消费者会从注册中心获取服务提供者的URL信息,然后通过Dubbo的ProxyFactory生成一个与服务接口匹配的代理对象。ProxyFactory是一个自适应扩展点,它可以根据配置或环境自动选择合适的代理实现,如...

    dubbo-admin:dubbo服务监控

    【标题】"dubbo-admin:dubbo服务监控" 指的是Dubbo生态系统中的一个关键组件,用于管理和监控Dubbo服务。Dubbo是阿里巴巴开源的一个高性能、轻量级的服务治理框架,广泛应用于分布式系统中。它提供了一整套服务治理...

    Dubbo服务注册与发现.doc

    Dubbo 服务注册与发现 本文档旨在讲解 Dubbo 服务注册与发现的相关知识点,涵盖了分布式...Dubbo 服务注册与发现是分布式系统架构中的一种重要机制,它可以使得服务提供者和服务消费者之间的调用变得更加灵活和高效。

    spring-boot-starter-dubbo-example.zip_dubbo_springboot_springboo

    Spring Boot Starter Dubbo Example是一个基于Spring Boot和Dubbo构建的应用示例项目,旨在帮助开发者理解和...通过研究这个示例,开发者能够理解如何配置、创建和消费Dubbo服务,从而提升微服务架构中的服务治理能力。

    Maven+SpringMVC+Dubbo 简单的入门demo配置

    4. 消费Dubbo服务:在服务消费者端,使用@Reference注解引入服务接口,即可在代码中直接调用远程服务。 5. 配置Zookeeper或注册中心:Dubbo的服务注册和发现通常需要一个注册中心,如Zookeeper。配置注册中心,让...

    构建Dubbo服务消费者Web应用的war包并在Tomcat中部署-步骤.docx

    " Dubbo 服务消费者 Web 应用 war 包的部署到 Tomcat 中" Dubbo 是一种高性能、基于 Java 的 RPC 框架,可以帮助开发者快速构建高性能的服务。Dubbo 服务消费者 Web 应用是指使用 Dubbo 框架开发的服务消费者应用...

    dubbo服务提供demo

    Dubbo服务提供方示例详解 在分布式系统中,Dubbo作为一个高性能、轻量级的服务治理框架,被广泛应用于服务的发布与消费。本篇将深入解析如何创建一个基于Dubbo的服务提供方(Provider)的Demo,以帮助理解其核心...

    dubbo测试实例(服务端和消费端)

    Dubbo 是一款高性能、轻量级的开源 Java RPC 框架,它提供了面向接口的远程方法调用能力,使得服务消费方可以像调用本地方法一样调用远程服务。在本实例中,我们将深入探讨如何搭建 Dubbo 的服务端(Provider)和...

    自定实现dubbo服务导出

    本文将深入探讨如何自定义实现Dubbo服务的导出,以及如何利用Spring的自定义标签和Bean生命周期来查找和赋值。这个过程涉及到Spring的IoC容器、Bean的生命周期管理以及Dubbo的注册与发现机制。 首先,了解Dubbo服务...

    dubbo 服务提供者

    在部署Dubbo服务提供者之前,需要先安装并运行Zookeeper集群,因为Dubbo服务会注册到Zookeeper上,消费者通过Zookeeper获取服务提供者的地址信息,实现服务的透明调用。这意味着服务提供者配置中需包含Zookeeper的...

Global site tag (gtag.js) - Google Analytics