dubbo 订阅 RPC 服务

Dubbo 订阅 RPC 服务

建立消费者者项目

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.bjsxt</groupId>
    <artifactId>dubbo-consumer</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <!-- 添加dubbo的依赖 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>dubbo</artifactId>
            <version>2.5.6</version>
        </dependency>
        <!-- zk的依赖 -->
        <dependency>
            <groupId>com.github.sgroschupf</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.1</version>
        </dependency>
    </dependencies>
</project>

 

拷贝业务接口

com.bjsxt.service.UserService

package com.bjsxt.service;

public interface UserService {

    public String loadUserService(int id);
}

 

建立 spring-consummer.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:context="http://www.springframework.org/schema/context"
       xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-4.3.xsd
    http://code.alibabatech.com/schema/dubbo
    http://code.alibabatech.com/schema/dubbo/dubbo.xsd
    ">

    <!--通过xml配置发布dubbo服务-->
    <dubbo:application name="dubbo-consumer"></dubbo:application>

    <!--使用ZooKeeper注册中心暴露服务地址-->
    <dubbo:registry protocol="zookeeper" address="192.168.181.129:2181,192.168.181.129:2182,192.168.181.129:2183,"/>


    <!-- 声明需要暴露的服务接口 -->
    <dubbo:reference interface="com.bjsxt.service.UserService" id="userService" />
</beans>

 

创建启动类实现服务消费

com.bjsxt.app.ConsumerApp

package com.bjsxt.app;

import com.bjsxt.service.UserService;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class ConsumerApp {
    public static void main(String[] args) throws InterruptedException {
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("application-dubbo.xml");
        context.start();
        UserService userService = (UserService) context.getBean("userService"); // 获取远程服务代理
        while (true){
            String result = userService.loadUserService(1234);
            System.out.println("result: "+result);
            Thread.sleep(3000);
        }
    }
}

 

 

 

posted @ 2019-12-11 08:56  sakura-yxf  阅读(347)  评论(0)    收藏  举报