zoukankan      html  css  js  c++  java
  • 2.Dubbo初探

    新建Maven项目,redis充当注册中心

    1.pom.xml

    <!--dubbo -->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>dubbo</artifactId>
      <version>2.5.8</version>
    </dependency>
    <!--redis -->
    <dependency>
        <groupId>redis.clients</groupId>
        <artifactId>jedis</artifactId>
        <version>2.9.0</version>
    </dependency>

    2.服务提供者

    GreetingService.java

    package org.niugang.dubbo.provider;
    
    /**
     * 
     * @ClassName:  GreetingService   
     * @Description:定义接口  
     * @author: niugang
     * @date:   2018年8月17日 上午10:11:11   
     * @Copyright: 863263957@qq.com. All rights reserved. 
     *
     */
    public interface GreetingService {
           String sayHello(String name);
    }

    GreetingServiceImpl.java

    package org.niugang.dubbo.provider;
    
    /**
     * 
     * @ClassName:  GreetingServiceImpl   
     * @Description:定义接口实现类  
     * @author: niugang
     * @date:   2018年8月17日 上午10:12:50   
     * @Copyright: 863263957@qq.com. All rights reserved. 
     *
     */
    public class GreetingServiceImpl implements GreetingService{
    
        public String sayHello(String name) {
            
            return "Hello " + name;
        }
    
    }

    Provider.java启动类

    package org.niugang.dubbo.provider;
    
    import java.io.IOException;
    
    import com.alibaba.dubbo.config.ApplicationConfig;
    import com.alibaba.dubbo.config.RegistryConfig;
    import com.alibaba.dubbo.config.ServiceConfig;
    /**
     * 
     * @ClassName:  Provider   
     * @Description:服务提供者
     * @author: niugang
     * @date:   2018年8月17日 上午11:03:44   
     * @Copyright: 863263957@qq.com. All rights reserved. 
     *
     */
    public class Provider {
        public static void main(String[] args) throws IOException {
    
            ServiceConfig<GreetingService> serviceConfig = new ServiceConfig<GreetingService>();
            // 应用信息
            serviceConfig.setApplication(new ApplicationConfig("first-dubbo-provider"));
            // 注册中心 redis当注册中心
            serviceConfig.setRegistry(new RegistryConfig("redis://localhost:6379"));
            // 
            serviceConfig.setInterface(GreetingService.class);
            // 接口实现类引用
            serviceConfig.setRef(new GreetingServiceImpl());
            serviceConfig.export();
            System.in.read();
        }
    }

    3.服务消费者

    Consumer.java

    package org.niugang.dubbo.consumer;
    
    import org.niugang.dubbo.provider.GreetingService;
    
    import com.alibaba.dubbo.config.ApplicationConfig;
    import com.alibaba.dubbo.config.ReferenceConfig;
    import com.alibaba.dubbo.config.RegistryConfig;
    /**
     * 
     * @ClassName:  Consumer   
     * @Description:服务消费者  
     * @author: niugang
     * @date:   2018年8月17日 上午11:03:27   
     * @Copyright: 863263957@qq.com. All rights reserved. 
     *
     */
    public class Consumer {
    
        public static void main(String[] args) {
            ReferenceConfig<GreetingService> referenceConfig = new ReferenceConfig<GreetingService>();
            referenceConfig.setApplication(new ApplicationConfig("first-dubbo-consumer"));
            referenceConfig.setRegistry(new RegistryConfig("redis://localhost:6379"));
            referenceConfig.setInterface(GreetingService.class);
            GreetingService greetingService = referenceConfig.get();
            System.out.println(greetingService.sayHello("world"));
        }
    
    }

    启动服务提供者,在启动消费者。

    调用接口返回信息打印如下

    源码地址:https://gitee.com/niugangxy/dubbo

    微信公众号

                              
  • 相关阅读:
    mysql GRANT ALL PRIVILEGES 限制某个或所有客户端都可以连接至mysql
    MySql开启远程用户登录GRANTALLPRIVILEGESON*.*TO'root'@'%'I MySql开启远程用户登录GRANTALLPRIVILEGESON*.*TO'root'@'%'I
    php中 -> 和 => 和 :: 的用法 以及 self 和 $this 的用法
    mysql case when then else end 的用法
    C/C++ 程序的build过程
    Git 笔记
    English Snippets
    Ubuntu 使用笔记
    在CentOS上安装Sublime Text
    hihoCoder #1379 Emulator
  • 原文地址:https://www.cnblogs.com/niugang0920/p/12187689.html
Copyright © 2011-2022 走看看