Dubbo入门之HelloWorld篇

栏目: 后端 · 发布时间: 8年前

内容简介:Dubbo入门之HelloWorld篇

一、前言

Dubbo是阿里巴巴推出的分布式服务器,通过Dubbo可以为Web应用提供WebService的功能。把单服务器应用实现分布式,万事开头难,在Dubbo的使用前,必须要部署Dubbo管理控制台,搭建zookeeper消息中心(可选),而Dubbo管理控制台需要使用dubbo-admin-2.8.4.war就可以完美解决搭建Dubbo管理控制台时与 linux 操作系统的jdk1.8解析异常的问题。推荐使用 https://my.oschina.net/wangt10/blog/522799 来使用搭建Dubbo管理控制台。

二、Provider提供者的创建过程(在Maven项目上使用Spring来使用dubbo服务)

1、CustomerService接口

package com.wjw.service.customer;
public interface CustomerService {
  public String getName();
}

2、CustomerServiceImpl实现

package com.wjw.service.customer;


public class CustomerServiceImpl implements CustomerService{
  @Override
  public String getName() {
    return "HelloWorld";
  }

3、DubboProvider测试类

package com.wjw.service.customer;

import java.io.IOException;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class DubboProvider {
  public static void main(String[] args) {
      ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( "classpath:applicationProvider.xml");  
        context.start();  
        System.out.println("Press any key to exit.");  
        try {
      System.in.read();
    } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }  
  }
}

4、applicationProvider.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">
  <!-- 具体的实现bean -->  
  <bean id="demoService" class="com.wjw.service.customer.CustomerServiceImpl" />  
  <!-- 提供方应用信息,用于计算依赖关系 -->  
  <dubbo:application name="xixi_provider"  />   
  <!-- 使用multicast广播注册中心暴露服务地址   
  <dubbo:registry address="multicast://118.89.22.169:1234" />-->   
  <!-- 使用zookeeper注册中心暴露服务地址 -->  
  <dubbo:registry address="zookeeper://118.89.22.169:2181" />    
  <!-- 用dubbo协议在20880端口暴露服务 -->  
  <dubbo:protocol name="dubbo" port="20880" />  
  <!-- 声明需要暴露的服务接口 -->  
  <dubbo:service interface="com.wjw.service.customer.CustomerService" ref="demoService" />  
</beans>

三、Customer消费者的创建过程

1、CustomerService 消费服务接口

package com.wjw.service.customer;
public interface CustomerService {
  public String getName();
}

2、 DubboCustomer测试类

package com.wjw.service.customer;

import java.io.IOException;

import org.springframework.context.support.ClassPathXmlApplicationContext;
public class DubboCustomer {
  public static void main(String[] args) {
      ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationProvider.xml");  

      CustomerService demoService = (CustomerService) context.getBean("demoService"); // get  
      System.out.println(demoService.getName());
        try {
      System.in.read();
    } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }  
  }
}

3、applicationProvider测试类

<?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="consumer-of-helloworld-app" />    
    <!-- 使用multicast广播注册中心暴露发现服务地址 -->  
  <dubbo:registry  protocol="zookeeper" address="zookeeper://118.89.22.169:2181" />    
    <!-- 生成远程服务代理,可以和本地bean一样使用demoService -->  
  <dubbo:reference id="demoService" interface="com.wjw.service.customer.CustomerService" />  
</beans>

四、入门成功的标识

1、先运行DubboProvider测试类,再运行DubboCustomer测试类,在Dubbo控制平台上的成功运行的效果图

Dubbo入门之HelloWorld篇

2、下面是Myeclispe下的控制台的效果图

Dubbo入门之HelloWorld篇

源码下载


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

PHP and MySQL Web Development (3rd Edition) (Developer's Library

PHP and MySQL Web Development (3rd Edition) (Developer's Library

Luke Welling、Laura Thomson / Sams / 2004-09-29 / USD 49.99

We've taken the best and made it even better. The third edition of the best-selling PHP and MySQL Web Development has been updated to include material and code on MySQL 5, PHP 5 and on PHPs object mod......一起来看看 《PHP and MySQL Web Development (3rd Edition) (Developer's Library》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具