天天看点

Dubbo学习(一)

环境:JDK1.8,tomcat7.0,zookeeper3.4.7,dubbo-admin2.5.4

由于**公司要用到Dubbo、Zookeeper、fastdfs、hadoop等技术,所以本着自己动手丰衣足食的精神本人要先搞这个Dubbo,看了网上的资料,基本上都是要下载一个什么dubbo-admin-2.4.1.war,但是我搜了一下要么假的要么有毒,还是看了网友说的自己去下载源码打包好了,下载源码出现了另外一个问题,dubbo.io这个网站不知道是谁弄的坑爹货,里面的源码不全,根本就没有dubbo-admin,继续搜,终于找到了正版地址:https://github.com/alibaba/dubbo.git,下载代码!哦,忘了说了,要提前装好zookeeper,这个很简单百度一下就有,或者看我后续的zookeeper文章。代码下载好我的目标是执行dubbo-admin项目,但是这里的dubbo-admin.xml会报错,虽然不影响但是红叉确实难看,那就处理掉好了:解压dubbo.jar找到里面的dubbo.xsd文件,然后windows->preferrence->xml->xmlcatalog ,add->catalogentry  ->file system 选择刚刚下载的文件路径,修改key值和配置文件的http://code.alibabatech.com/schema/dubbo/dubbo.xsd 相同,保存。。在xml文件右键validate  ok解决了。

然后就是修改WEB-INF下的dubbo.properties,把里面的dubbo.registry.address=zookeeper://127.0.0.1:2181改成你的zookeeper地址,然后添加项目到tomcat7,启动!果不其然,报错了。

由于我的是JDK8,继续百度,发现1.8果然会出这个问题,两种解决方案:第一种是更换jdk为1.7版本;

第二种就是更改项目,步骤如下:

1、dubbo-parent的webx的依赖改为3.1.6版;

    <dependency>

       <groupId>com.alibaba.citrus</groupId>

       <artifactId>citrus-webx-all</artifactId>

        <version>3.1.6</version>

    </dependency>

2、dubbo-admin添加velocity的依赖,我用了1.7;

    <dependency>

       <groupId>org.apache.velocity</groupId>

       <artifactId>velocity</artifactId>

        <version>1.7</version>

    </dependency>

3、对dubbo-admin的依赖项dubbo添加exclusion,避免引入旧spring

    <dependency>

       <groupId>com.alibaba</groupId>

       <artifactId>dubbo</artifactId>

       <version>${project.parent.version}</version>

        <exclusions>

            <exclusion>

               <groupId>org.springframework</groupId>

                <artifactId>spring</artifactId>

            </exclusion>

        </exclusions>

    </dependency>

4、webx已有spring 3以上的依赖,因此注释掉dubbo-admin里面的spring依赖

    <!--<dependency>-->

       <!--<groupId>org.springframework</groupId>-->

       <!--<artifactId>spring</artifactId>-->

    <!--</dependency>-->

再次执行,成功!

Dubbo学习(一)

自己写的文档,如果对你有用,转载时请注明出处!谢谢

继续阅读