Dubbo三发布dubbo服务

半世苍凉 提交于 2020-02-06 17:00:44
  • 首先把github上的源码下为zip包,这里我们选2.6.0版本。

  • 我们准备仿写dubbo-demo/dubbo-demo-provider,这个是服务的提供方。

  • 用eclipse开发,新建一个其他->maven项目,右键项目->构建项目路径,把原本为1.5的JRE移除,然后add library,选择jre 系统库,选中工作空间缺省JRE(1.8jre)。

  • 额然后添加依赖的时候受阻了,因为没有在eclipse配置好maven,所以依赖下载失败。我们转到idea开发。

  • pom:参考官方"D:\ideaProjects\dubbo-dubbo-2.6.0\dubbo-demo\dubbo-demo-provider"代码。

    com.alibaba dubbo 2.6.0 com.101tec zkclient 0.10 org.apache.curator curator-framework 4.0.1 com.alibaba fastjson 1.2.46 log4j log4j 1.2.17 org.slf4j slf4j-api 1.7.25 org.apache.commons commons-lang3 3.4 io.netty netty-all 4.0.35.Final
  • 项目如下:

  • 我们新建一个接口和接口实现类,其中只有一个方法,返回一个字符串而已。

  • 然后到"D:\ideaProjects\dubbo-dubbo-2.6.0\dubbo-demo\dubbo-demo-provider\src\main\resources\META-INF\spring\dubbo-demo-provider.xml"把配置文件复制了粘贴到resources下。

    <?xml version="1.0" encoding="UTF-8"?>

      <!--提供方的应用名称,用于计算依赖关系-->
      <dubbo:application name="demo-provider" />
    
      <!--使用zookeeper注册中心暴露服务地址:协议用的是zookeeper;当然还有很多其他注册中心,如redis-->
      <dubbo:registry address="zookeeper://127.0.0.1:2181" />
    
      <!--使用dubbo协议在20880(自定义)端口暴露服务-->
      <dubbo:protocol name="dubbo" port="20880" />
    
      <!--注册service实现类-->
      <bean id="demoProviderService"
            class="com.haien.service.impl.DemoProviderServiceImpl" />
    
      <!--真正暴露一个接口-->
      <dubbo:service interface="com.haien.service.DemoProviderService"
                     ref="demoProviderService" />
    
  • 然后我们测试一下如何发布接口:

    public class ProviderTest {
    public static void main(String[] args) {
    //读取配置文件
    ClassPathXmlApplicationContext context=new ClassPathXmlApplicationContext(
    new String[]{“dubbo-demo-provider.xml”});
    //启动
    context.start();

          System.out.println("服务注册成功,端口:20880");
          try {
              //读取任意输入终止程序
              System.in.read();
          } catch (IOException e) {
              e.printStackTrace();
          }
    
          context.close();
      }
    

    }

  • 控制台:

    服务注册成功,端口:20880

  • 由于网络原因,可能报错:Zookeeper is not connected yet。重启一下zookeeper再运行程序。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!