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.新建一個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://dubbo.apache.org/schema/dubbo"
       xmlns:component="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

    <!--配置掃描包的路徑-->
    <component:component-scan base-package="com.zhanghaoBF.gmall.service.impl"></component:component-scan>

    <!--1.指定當前服務/應用的名字(同樣的服務名字相同,但是不要和其他服務同名)-->
    <dubbo:application name="order-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>-->

    <!--聲明需要調用的遠程服務的接口:生成遠程服務代理-->
    <dubbo:reference interface="dubbo.service.user.UserService" id="userService"></dubbo:reference>

</beans>

3.創建一個消費者啟動類Consumer.java

public class Consumer {
    public static void main(String[] args) throws Exception {
        //讀取IOC容器
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("consumer.xml");
        //從容器中獲取OrderService組件對象
        OrderService orderService = context.getBean(OrderService.class);
        //調用orderService服務,服務實現里遠程調用UserService的dubbo服務
        orderService.initOrder("1");
        //設置阻塞
        System.out.println("調用完成....");
        System.in.read(); // 此代碼功能:按任意鍵退出
    }
}

4.啟動

  右鍵debug啟動類后,打開上一章講解的控制台,可看到消費者也已經可以在控制台看到了,欸嘿,有點意思噻~

  PS:啟動前需要先啟動zk和控制台才能實現下圖的效果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM