dubbo框架搭建,测试成功。

dubbo的介绍就不说了,下面直接进入主题。

新建两个项目,一个服务端dubbos项目,一个消费端dubboc项目。

先部署服务端。

首先新建接口DubboServer和实现类DubboServerImpl.随便新建一个接口,以便测试。

DubboServer.java

public interface DubboServer {
    public String testDubboServer();
    public String testHelloDubboServer(String str);

}

DubboServerImpl.java

public class DubboServerImpl implements DubboServer {

    public String testDubboServer() {
        return "This is DubboServer.";
    }

    public String testHelloDubboServer(String str) {
        return "Hello Dubbo "+str;
    }

}

 

服务端引入配置文件 

spring-config-dubbo.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">
        
<!-- 具体实现类 -->
<bean id="dubboServer" class="com.jiacl.DubboServerImpl"></bean>
    
<!-- 提供方应用信息,用于计算依赖关系 -->
<dubbo:application name="xw-dubbo-server"  />
<!-- 消息中心地址 -->
<dubbo:registry address="zookeeper://localhost:2181" check="false"/>
<!-- 用dubbo协议在20880端口暴露服务 -->
<dubbo:protocol name="dubbo" port="20880" />
<!-- 声明接口 -->
<dubbo:service interface="com.jiacl.DubboServer" ref="dubboServer" />
</beans>

然后安装启动zookeeper,具体安装可以搜别的博客。

public class ZooKeeperMain {
    public static void main(String[] args) throws InterruptedException {
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[]{"spring-config-dubbo.xml"});
        context.start();
        System.out.println("--------------------------dubbo Service Start-----------------------------------");
        while (true) {
            Thread.sleep(5000);
        }
    }
}

在这里会有一个问题,就是xml里面的dubbo标签识别不了,所以解决办法:

http://www.cnblogs.com/tietazhan/p/5458150.html

 

然后部署消费端

消费端其实只需要在zookeeper取出服务端暴露的接口就行了。使用配置文件testConfig.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:p="http://www.springframework.org/schema/p"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd    
http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd">

<dubbo:application name="xw-dubbo-client"  />
<!-- 消息中心地址 -->
<dubbo:registry address="zookeeper://localhost:2181" check="false"/>
<!-- 声明接口 -->
<dubbo:reference id="dubboServer" interface="com.jiacl.DubboServer" />
</beans>

再写一个测试main。

public class DubboClientTest {
    public static void main(String[] args) throws Exception {
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
                new String[] { "testConfig.xml" });
        context.start();
        DubboServer demoService = (DubboServer) context.getBean("dubboServer");
        String s = demoService.testDubboServer();
        System.out.println(s);
        String ss = demoService.testHelloDubboServer(s);
        System.out.println(ss);
    }

}

然后运行main函数,不报错就说明项目部署完成。

在项目中引入的jar包参考

     <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>4.2.5.RELEASE</version>
        </dependency>
        
         <!-- SPRING-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>4.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.2.5.RELEASE</version>
        </dependency>
        <!-- ZOOKEEPER -->
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.5.1-alpha</version>
        </dependency>
        <dependency>
            <groupId>com.github.sgroschupf</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.1</version>
        </dependency>
        <!-- DUBBO -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>dubbo</artifactId>
            <version>2.5.3</version>
        </dependency>

 

posted @ 2016-05-04 14:34  吐槽村  阅读(504)  评论(0编辑  收藏  举报