zoukankan      html  css  js  c++  java
  • dubbo入门

    dubbo官网:dubbo.io

    pom.xml引入

     1 <!-- dubbo -->
     2         <dependency>
     3             <groupId>com.alibaba</groupId>
     4             <artifactId>dubbo</artifactId>
     5             <version>2.0.13</version>
     6             <exclusions>
     7                 <exclusion>
     8                     <groupId>org.springframework</groupId>
     9                     <artifactId>spring</artifactId>
    10                 </exclusion>
    11             </exclusions>
    12         </dependency>
    13         <dependency>
    14             <groupId>org.apache.zookeeper</groupId>
    15             <artifactId>zookeeper</artifactId>
    16             <version>3.3.6</version>
    17             <exclusions>
    18                 <exclusion>
    19                     <groupId>log4j</groupId>
    20                     <artifactId>log4j</artifactId>
    21                 </exclusion>
    22             </exclusions>
    23         </dependency>

    DubboService.java

    package cn.tomcat.quickstart.dubbo.service;
    
    import java.util.List;
    
    
    public interface DubboService {
        
        String sayHello(String name);
        
        public List getUsers();
    }

    DubboServiceImpl.java

    package cn.tomcat.quickstart.dubbo.service.impl;
    
    import java.util.ArrayList;
    import java.util.List;
    
    import cn.tomcat.quickstart.dubbo.service.DubboService;
    import cn.tomcat.quickstart.user.model.User;
    
    public class DubboServiceImpl implements DubboService {
    
        public String sayHello(String name) {
            return "say hello:" + name;
        }
    
        public List getUsers() {
            List list = new ArrayList();
    
            User u1 = new User();
            u1.setUserName("jack");
    
            User u2 = new User();
            u1.setUserName("tom");
    
            User u3 = new User();
            u1.setUserName("ccc");
    
            list.add(u1);
            list.add(u2);
            list.add(u3);
    
            return list;
        }
    
    }

    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="consumer-dubbo-qucikstart" />
        <dubbo:registry address="zookeeper://127.0.0.1:2181" />
        <dubbo:protocol name="dubbo" port="20880" />
        <dubbo:reference interface="cn.tomcat.quickstart.dubbo.service.DubboService"
            id="demoService" />
    </beans>

    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-qucikstart" />
        <dubbo:registry address="zookeeper://127.0.0.1:2181" />
        <dubbo:protocol name="dubbo" port="20880" />
        <dubbo:service ref="dubboService"
            interface="cn.tomcat.quickstart.dubbo.service.DubboService" />
        <bean id="dubboService"
            class="cn.tomcat.quickstart.dubbo.service.impl.DubboServiceImpl" />
    </beans>

    ProviderTest.java提供者测试

    package cn.tomcat.quickstart.dubbo;
    
    import java.io.IOException;
    
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    public class ProviderTest {
    
        public static void main(String[] args) throws IOException {
            ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
                    new String[] { "classpath:dubbo-provider.xml" });
            context.start();
            System.in.read(); 
        }
    }

    ConsumerTest.java消费者测试

    package cn.tomcat.quickstart.dubbo;
    
    import java.io.IOException;
    
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    public class ProviderTest {
    
        public static void main(String[] args) throws IOException {
            ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
                    new String[] { "classpath:dubbo-provider.xml" });
            context.start();
            System.in.read(); 
        }
    }

    现在用的是zookeeper注册中心,和dubbo协议,提前得安装好zookeeper注册中心,并启动

    先执行ProviderTest,然后再执行ConsumerTest,这只是一个简单小demo

  • 相关阅读:
    互联网支付的"二清"介绍
    Spring Tool Suite(STS)加速
    如何将任意文件固定在 Win10 的开始屏幕中
    VCL to UniGUI Migration Wizard
    kbmmw 中XML 操作入门(跨平台,而且可以与JSON,YAML,BSON 直接互相转换)
    欧洲历史上“中国热”:一个瓷器可换数个奴隶
    QPointer,QSharedPointer,QWeakPointer的区别与使用例子(QSharedPointer类似Delphi里的引用计数,是强引用,而QWeakPointer是弱引用,不影响原始对象的引用计数,相当于是在暗中观察对象,但保持联系,需要的时候就会出现)
    Visual Studio 2017 for Mac Preview
    NET Core Kestrel部署HTTPS
    多线程
  • 原文地址:https://www.cnblogs.com/ppli/p/5706825.html
Copyright © 2011-2022 走看看