zoukankan      html  css  js  c++  java
  • dubbo学习(七)dubbo项目搭建--生产者(服务提供者)

    PS:  项目架子以及工程间的maven依赖配置暂时省略,后续看情况可能会单独写一篇文章捋捋框架结构,先马克~

    配置和启动

    1.pom文件引入dubbo和zookeeper的操作客户端

           <!--引入dubbo-->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>dubbo</artifactId>
                <version>2.6.2</version>
            </dependency>
            <!--这里使用zookeeper作为注册中心,引入操作zookeeper的客户端-->
            <dependency>
                <groupId>org.apache.curator</groupId>
                <artifactId>curator-framework</artifactId>
                <version>2.12.0</version>
            </dependency>
            <!--框架依赖end-->

    2.新建一个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">
    
        <!--1.指定当前服务/应用的名字(同样的服务名字相同,但是不要和其他服务同名)-->
        <dubbo:application name="user-service"></dubbo:application>
    
        <!--2.指定注册中心的位置-->
        <!--写法1-->
        <dubbo:registry address="zookeeper://127.0.0.1:2181"></dubbo:registry>
        <!--写法2-->
        <!--<dubbo:registry protocol="zookeeper" address="127.0.0.1:2181"></dubbo:registry>-->
    
        <!--3.指定通信规则(通信协议和通信端口)-->
        <dubbo:protocol name="dubbo" port="20880"></dubbo:protocol>
    
        <!--4.暴露服务  ref:指向服务的真正的实现对象-->
        <dubbo:service interface="dubbo.service.user.UserService" ref="userServiceImpl"></dubbo:service>
        <!--4.1把实现类加入到容器中-->
        <bean id="userServiceImpl" class="com.zhanghaoBF.gmall.service.impl.UserServiceImpl"></bean>
    </beans>

    3.创建一个生产者启动类Provider.java

    public class Provider {
        public static void main(String[] args) throws Exception {
            ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("provider.xml");
            context.start();
    
            System.in.read(); // 此代码功能:按任意键退出
        }
    }

    4.启动

      右键debug启动类后,打开上一章讲解的控制台,可看到服务已经注册到注册中心了,欸嘿,有点意思噻~

      PS:启动前需要先启动zk和控制台才能实现下图的效果

  • 相关阅读:
    Charles初体验
    基于工作量证明的哈希算法实验
    入侵检测软件Snort的使用实验
    基于netwox/netwag 工具的网络协议攻防实验
    jsonp原理
    案例:使用jquery的ajax load方法更新局部页面并应用NProgress库实现顶部进度条
    使用node文件模块封装一个学生数据操作API
    ES6 promise初体验
    nodejs中的路径和url操作
    使用nodejs和art-template模板引擎实现apache的部分功能
  • 原文地址:https://www.cnblogs.com/riches/p/11223171.html
Copyright © 2011-2022 走看看