zoukankan      html  css  js  c++  java
  • spring+dubbo整合

    2016三月
    30

    spring+dubbo整合

                            <label><i class="fa fa-exclamation-triangle"></i><span onclick="javascript:report(51014320,2);return false;"> 举报</span></label>
                            <label><i class="fa fa-bookmark-o"></i><span onclick="javascript:collectArticle('spring+dubbo整合','51014320');return false;"> 收藏</span></label>
                             
    
                             
                          </p>
                        </div>
                      <div class="skin_detail" id="article_content">
    

    创建公共接口或者工程用到的一些bean,我这里就只是创建了一个接口。工程目录如下:

    DemoService接口的代码如下:

    1. <span style="font-size:14px;">package com.sw.www;  
    2.   
    3. public interface DemoService {  
    4.     public void sayHello();   
    5. }  
    6. </span>  


    将上面的接口工程打包为一个jar给服务提供方和消费方公用,创建服务提供方工程,工程目录如下:

    其中DemoServiceImpl实现了公共接口。而后期服务消费方不需要关心它是如何实现的。其代码如下:

    1. <span style="font-size:14px;">package com.sw.www.impl;  
    2.   
    3. import com.sw.www.DemoService;  
    4.   
    5. public class DemoServiceImpl implements DemoService{    
    6.     @Override    
    7.     public void sayHello() {    
    8.         System.out.println("hello dubbo!");    
    9.     }    
    10. }    
    11. </span>  


    applicationProvider.xml 配置如下:

    1. <span style="font-size:14px;"><?xml version="1.0" encoding="UTF-8"?>    
    2. <beans xmlns="http://www.springframework.org/schema/beans"    
    3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    
    4.     xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"    
    5.     xsi:schemaLocation="http://www.springframework.org/schema/beans    
    6.         http://www.springframework.org/schema/beans/spring-beans.xsd    
    7.         http://code.alibabatech.com/schema/dubbo    
    8.         http://code.alibabatech.com/schema/dubbo/dubbo.xsd    
    9.         ">         
    10.     <dubbo:application name="hello-world-app" />         
    11.     <dubbo:registry  protocol="zookeeper" address="127.0.0.1:2181" />    
    12.     <dubbo:protocol name="dubbo" port="20880" />          
    13.     <bean id="demoService" class="com.sw.www.impl.DemoServiceImpl" />    
    14.     <!-- 和本地bean一样实现服务 -->    
    15.     <dubbo:service interface="com.sw.www.DemoService"  ref="demoService" />    
    16. </beans>   
    17. </span>  


    pom.xml 配置如下:

    1. <span style="font-size:14px;"><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    2.     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  
    3.     <modelVersion>4.0.0</modelVersion>  
    4.     <groupId>com.sw.www</groupId>  
    5.     <artifactId>dubbo_provider</artifactId>  
    6.     <packaging>jar</packaging>  
    7.     <version>0.0.1-SNAPSHOT</version>  
    8.     <name>role_access_control</name>  
    9.     <url>http://maven.apache.org</url>  
    10.       
    11.     <!-- 各类依赖jar的版本声明 -->  
    12.     <properties>  
    13.         <junit.version>4.8.2</junit.version>  
    14.         <spring.version>3.2.2.RELEASE</spring.version>  
    15.         <javax-activation.version>1.1</javax-activation.version>  
    16.         <mysql-connector-java.version>5.1.34</mysql-connector-java.version>  
    17.         <shiro.version>1.2.3</shiro.version>  
    18.     </properties>  
    19.     <dependencies>  
    20.         <!-- junit -->  
    21.         <dependency>  
    22.             <groupId>junit</groupId>  
    23.             <artifactId>junit</artifactId>  
    24.             <version>${junit.version}</version>  
    25.             <type>jar</type>  
    26.         </dependency>  
    27.         <!-- spring start -->  
    28.         <dependency>  
    29.             <groupId>org.springframework</groupId>  
    30.             <artifactId>spring-aop</artifactId>  
    31.             <version>${spring.version}</version>  
    32.         </dependency>  
    33.         <dependency>  
    34.             <groupId>org.springframework</groupId>  
    35.             <artifactId>spring-aspects</artifactId>  
    36.             <version>${spring.version}</version>  
    37.         </dependency>  
    38.         <dependency>  
    39.             <groupId>org.springframework</groupId>  
    40.             <artifactId>spring-beans</artifactId>  
    41.             <version>${spring.version}</version>  
    42.         </dependency>  
    43.         <dependency>  
    44.             <groupId>org.springframework</groupId>  
    45.             <artifactId>spring-context</artifactId>  
    46.             <version>${spring.version}</version>  
    47.         </dependency>  
    48.         <dependency>  
    49.             <groupId>org.springframework</groupId>  
    50.             <artifactId>spring-context-support</artifactId>  
    51.             <version>${spring.version}</version>  
    52.         </dependency>  
    53.         <dependency>  
    54.             <groupId>org.springframework</groupId>  
    55.             <artifactId>spring-core</artifactId>  
    56.             <version>${spring.version}</version>  
    57.         </dependency>  
    58.         <dependency>  
    59.             <groupId>org.springframework</groupId>  
    60.             <artifactId>spring-dao</artifactId>  
    61.             <version>2.0.8</version>  
    62.         </dependency>  
    63.         <dependency>  
    64.             <groupId>org.springframework</groupId>  
    65.             <artifactId>spring-expression</artifactId>  
    66.             <version>${spring.version}</version>  
    67.         </dependency>  
    68.         <dependency>  
    69.             <groupId>org.springframework</groupId>  
    70.             <artifactId>spring-jdbc</artifactId>  
    71.             <version>${spring.version}</version>  
    72.         </dependency>  
    73.         <dependency>  
    74.             <groupId>org.springframework</groupId>  
    75.             <artifactId>spring-mock</artifactId>  
    76.             <version>2.0.8</version>  
    77.         </dependency>  
    78.         <dependency>  
    79.             <groupId>org.springframework</groupId>  
    80.             <artifactId>spring-orm</artifactId>  
    81.             <version>${spring.version}</version>  
    82.         </dependency>  
    83.         <dependency>  
    84.             <groupId>org.springframework</groupId>  
    85.             <artifactId>spring-test</artifactId>  
    86.             <version>${spring.version}</version>  
    87.         </dependency>  
    88.         <dependency>  
    89.             <groupId>org.springframework</groupId>  
    90.             <artifactId>spring-tx</artifactId>  
    91.             <version>${spring.version}</version>  
    92.         </dependency>  
    93.         <dependency>  
    94.             <groupId>org.springframework</groupId>  
    95.             <artifactId>spring-web</artifactId>  
    96.             <version>${spring.version}</version>  
    97.         </dependency>  
    98.         <dependency>  
    99.             <groupId>org.springframework</groupId>  
    100.             <artifactId>spring-webmvc</artifactId>  
    101.             <version>${spring.version}</version>  
    102.         </dependency>  
    103.         <!-- spring end -->  
    104.   
    105.         <!-- mysql -->  
    106.         <dependency>  
    107.             <groupId>mysql</groupId>  
    108.             <artifactId>mysql-connector-java</artifactId>  
    109.             <version>${mysql-connector-java.version}</version>  
    110.         </dependency>  
    111.   
    112.         <!-- shiro -->  
    113.         <dependency>  
    114.             <groupId>org.apache.shiro</groupId>  
    115.             <artifactId>shiro-core</artifactId>  
    116.             <version>${shiro.version}</version>  
    117.         </dependency>  
    118.         <dependency>  
    119.             <groupId>org.apache.shiro</groupId>  
    120.             <artifactId>shiro-web</artifactId>  
    121.             <version>${shiro.version}</version>  
    122.         </dependency>  
    123.         <dependency>  
    124.             <groupId>org.apache.shiro</groupId>  
    125.             <artifactId>shiro-spring</artifactId>  
    126.             <version>${shiro.version}</version>  
    127.         </dependency>  
    128.         <dependency>  
    129.             <groupId>org.apache.shiro</groupId>  
    130.             <artifactId>shiro-ehcache</artifactId>  
    131.             <version>${shiro.version}</version>  
    132.         </dependency>  
    133.         <dependency>  
    134.             <groupId>org.apache.shiro</groupId>  
    135.             <artifactId>shiro-quartz</artifactId>  
    136.             <version>${shiro.version}</version>  
    137.         </dependency>  
    138.   
    139.         <!-- servlet -->  
    140.         <dependency>  
    141.             <groupId>javax.servlet</groupId>  
    142.             <artifactId>servlet-api</artifactId>  
    143.             <version>2.5</version>  
    144.         </dependency>  
    145.         <dependency>  
    146.             <groupId>aopalliance</groupId>  
    147.             <artifactId>aopalliance</artifactId>  
    148.             <version>1.0</version>  
    149.         </dependency>  
    150.         <dependency>  
    151.             <groupId>org.apache.james</groupId>  
    152.             <artifactId>apache-mime4j</artifactId>  
    153.             <version>0.6.1</version>  
    154.         </dependency>  
    155.         <dependency>  
    156.             <groupId>asm</groupId>  
    157.             <artifactId>asm</artifactId>  
    158.             <version>3.3.1</version>  
    159.         </dependency>  
    160.         <dependency>  
    161.             <groupId>org.apache.axis</groupId>  
    162.             <artifactId>axis</artifactId>  
    163.             <version>1.4</version>  
    164.         </dependency>  
    165.         <dependency>  
    166.             <groupId>cglib</groupId>  
    167.             <artifactId>cglib-nodep</artifactId>  
    168.             <version>3.1</version>  
    169.         </dependency>  
    170.           
    171.         <!-- commons -->  
    172.         <dependency>  
    173.             <groupId>commons-beanutils</groupId>  
    174.             <artifactId>commons-beanutils</artifactId>  
    175.             <version>1.9.2</version>  
    176.         </dependency>  
    177.         <dependency>  
    178.             <groupId>commons-codec</groupId>  
    179.             <artifactId>commons-codec</artifactId>  
    180.             <version>1.10</version>  
    181.         </dependency>  
    182.         <dependency>  
    183.             <groupId>commons-collections</groupId>  
    184.             <artifactId>commons-collections</artifactId>  
    185.             <version>3.2.1</version>  
    186.         </dependency>  
    187.         <dependency>  
    188.             <groupId>commons-discovery</groupId>  
    189.             <artifactId>commons-discovery</artifactId>  
    190.             <version>0.5</version>  
    191.         </dependency>  
    192.         <dependency>  
    193.             <groupId>commons-fileupload</groupId>  
    194.             <artifactId>commons-fileupload</artifactId>  
    195.             <version>1.3.1</version>  
    196.         </dependency>  
    197.         <dependency>  
    198.             <groupId>commons-httpclient</groupId>  
    199.             <artifactId>commons-httpclient</artifactId>  
    200.             <version>3.1</version>  
    201.         </dependency>  
    202.         <dependency>  
    203.             <groupId>commons-io</groupId>  
    204.             <artifactId>commons-io</artifactId>  
    205.             <version>2.4</version>  
    206.         </dependency>  
    207.         <dependency>  
    208.             <groupId>commons-lang</groupId>  
    209.             <artifactId>commons-lang</artifactId>  
    210.             <version>2.6</version>  
    211.         </dependency>  
    212.         <dependency>  
    213.             <groupId>commons-logging</groupId>  
    214.             <artifactId>commons-logging</artifactId>  
    215.             <version>1.2</version>  
    216.         </dependency>  
    217.         <dependency>  
    218.             <groupId>dom4j</groupId>  
    219.             <artifactId>dom4j</artifactId>  
    220.             <version>1.6.1</version>  
    221.         </dependency>  
    222.           
    223.           
    224.         <dependency>  
    225.             <groupId>com.alibaba</groupId>  
    226.             <artifactId>druid</artifactId>  
    227.             <version>1.0.9</version>  
    228.         </dependency>  
    229.         <dependency>  
    230.             <groupId>net.sf.ehcache</groupId>  
    231.             <artifactId>ehcache-core</artifactId>  
    232.             <version>2.6.9</version>  
    233.         </dependency>  
    234.         <dependency>  
    235.             <groupId>net.sf.ezmorph</groupId>  
    236.             <artifactId>ezmorph</artifactId>  
    237.             <version>1.0.6</version>  
    238.         </dependency>  
    239.         <dependency>  
    240.             <groupId>org.freemarker</groupId>  
    241.             <artifactId>freemarker</artifactId>  
    242.             <version>2.3.21</version>  
    243.         </dependency>  
    244.         <dependency>  
    245.             <groupId>com.google.code.gson</groupId>  
    246.             <artifactId>gson</artifactId>  
    247.             <version>2.3.1</version>  
    248.         </dependency>  
    249.         <dependency>  
    250.             <groupId>org.apache.httpcomponents</groupId>  
    251.             <artifactId>httpcore</artifactId>  
    252.             <version>4.4</version>  
    253.         </dependency>  
    254.         <dependency>  
    255.             <groupId>org.apache.httpcomponents</groupId>  
    256.             <artifactId>httpmime</artifactId>  
    257.             <version>4.3.6</version>  
    258.         </dependency>  
    259.         <dependency>  
    260.             <groupId>com.fasterxml.jackson.core</groupId>  
    261.             <artifactId>jackson-core</artifactId>  
    262.             <version>2.4.4</version>  
    263.         </dependency>  
    264.         <dependency>  
    265.             <groupId>com.alibaba</groupId>  
    266.             <artifactId>fastjson</artifactId>  
    267.             <version>1.1.36</version>  
    268.         </dependency>  
    269.         <dependency>  
    270.             <groupId>javax.xml</groupId>  
    271.             <artifactId>jaxrpc</artifactId>  
    272.             <version>1.1</version>  
    273.         </dependency>  
    274.         <dependency>  
    275.             <groupId>jstl</groupId>  
    276.             <artifactId>jstl</artifactId>  
    277.             <version>1.2</version>  
    278.         </dependency>  
    279.         <dependency>  
    280.             <groupId>log4j</groupId>  
    281.             <artifactId>log4j</artifactId>  
    282.             <version>1.2.17</version>  
    283.         </dependency>  
    284.         <dependency>  
    285.             <groupId>org.mybatis</groupId>  
    286.             <artifactId>mybatis</artifactId>  
    287.             <version>3.2.1</version>  
    288.         </dependency>  
    289.         <dependency>  
    290.             <groupId>org.mybatis</groupId>  
    291.             <artifactId>mybatis-spring</artifactId>  
    292.             <version>1.2.0</version>  
    293.         </dependency>  
    294.         <dependency>  
    295.             <groupId>org.slf4j</groupId>  
    296.             <artifactId>slf4j-api</artifactId>  
    297.             <version>1.7.9</version>  
    298.         </dependency>  
    299.         <dependency>  
    300.             <groupId>org.slf4j</groupId>  
    301.             <artifactId>slf4j-log4j12</artifactId>  
    302.             <version>1.7.9</version>  
    303.         </dependency>  
    304.         <dependency>  
    305.             <groupId>taglibs</groupId>  
    306.             <artifactId>standard</artifactId>  
    307.             <version>1.1.2</version>  
    308.         </dependency>  
    309.         <dependency>  
    310.             <groupId>wsdl4j</groupId>  
    311.             <artifactId>wsdl4j</artifactId>  
    312.             <version>1.6.3</version>  
    313.         </dependency>  
    314.         <dependency>  
    315.             <groupId>org.freemarker</groupId>  
    316.             <artifactId>freemarker</artifactId>  
    317.             <version>2.3.21</version>  
    318.         </dependency>  
    319.         <!-- 后续 -->  
    320.           
    321.         <!-- dubbo依赖jar -->  
    322.         <dependency>  
    323.             <groupId>com.alibaba</groupId>  
    324.             <artifactId>dubbo</artifactId>  
    325.             <version>2.4.9</version>  
    326.             <exclusions>  
    327.                 <exclusion>  
    328.                     <artifactId>spring</artifactId>  
    329.                     <groupId>org.springframework</groupId>  
    330.                 </exclusion>  
    331.             </exclusions>  
    332.         </dependency>  
    333.   
    334.         <dependency>  
    335.             <groupId>org.apache.zookeeper</groupId>  
    336.             <artifactId>zookeeper</artifactId>  
    337.             <version>3.4.5</version>  
    338.             <exclusions>  
    339.                 <exclusion>  
    340.                     <groupId>log4j</groupId>  
    341.                     <artifactId>log4j</artifactId>  
    342.                 </exclusion>  
    343.             </exclusions>  
    344.         </dependency>  
    345.   
    346.         <dependency>  
    347.             <groupId>com.github.sgroschupf</groupId>  
    348.             <artifactId>zkclient</artifactId>  
    349.             <version>0.1</version>  
    350.         </dependency>  
    351.   
    352.     </dependencies>  
    353.     <build>  
    354.         <plugins>  
    355.             <plugin>  
    356.                 <artifactId>maven-compiler-plugin</artifactId>  
    357.                 <configuration>  
    358.                     <source>1.7</source>  
    359.                     <target>1.7</target>  
    360.                     <encoding>utf8</encoding>  
    361.                 </configuration>  
    362.             </plugin>  
    363.             <plugin>  
    364.                 <artifactId>maven-surefire-plugin</artifactId>  
    365.                 <configuration>  
    366.                     <includes>  
    367.                         <include>**/*Tests.java</include>  
    368.                     </includes>  
    369.                 </configuration>  
    370.             </plugin>  
    371.         </plugins>  
    372.         <defaultGoal>compile</defaultGoal>  
    373.         <finalName>dubbo_provider</finalName>  
    374.     </build>  
    375. </project>  
    376. </span>  

    编写服务提供方启动的测试类TestProvider,代码如下:

    1. <span style="font-size:14px;">package com.sw.www;  
    2.   
    3. import org.springframework.context.ApplicationContext;  
    4. import org.springframework.context.support.ClassPathXmlApplicationContext;  
    5.   
    6. public class TestProvider {  
    7.     public static void main(String[] args) {  
    8.          try {  
    9.               // 初始化Spring  
    10.               ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationProvider.xml");  
    11.               System.out.println("dubbo provider is running...");   
    12.               System.in.read();  
    13.             } catch (Exception ex) {  
    14.               ex.printStackTrace();  
    15.             }  
    16.           }  
    17.     }</span>  





    注意:因为我之前的工程是基于spring+springmvc+mybatis+shiro搭建的一个角色权限管理框架,所以一些相关的jar可以去掉(当然你不去掉也是没有问题的)。这里特别指出,后面的服务消费方的工程中的pom.xml和这个一样。记得导入公共接口的jar包。

    创建服务消费方工程,工程目录如下:


    消费方调用测试类TestDemo,代码如下:

    1. <span style="font-size:14px;">package com.sw.www;  
    2.   
    3. import java.io.IOException;  
    4.   
    5. import org.springframework.context.ApplicationContext;  
    6. import org.springframework.context.support.ClassPathXmlApplicationContext;  
    7.   
    8. public class TestDemo {  
    9.       
    10.     public static void main(String[] args) {  
    11.           
    12.         try {  
    13.             // 初始化Spring  
    14.             ApplicationContext ctx = new ClassPathXmlApplicationContext(  
    15.                     "applicationConsumer.xml");  
    16.             DemoService demoService = (DemoService) ctx  
    17.                     .getBean("demoService"); // 获取远程服务代理  
    18.             demoService.sayHello(); // 执行远程方法  
    19.             System.in.read();  
    20.             } catch (IOException e) {  
    21.                 e.printStackTrace();  
    22.             }  
    23.     }  
    24. }</span>  


    applicationConsumer.xml 配置文件如下:

    1. <span style="font-size:14px;"><?xml version="1.0" encoding="UTF-8"?>    
    2. <beans xmlns="http://www.springframework.org/schema/beans"    
    3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    
    4.     xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"    
    5.     xsi:schemaLocation="http://www.springframework.org/schema/beans    
    6.         http://www.springframework.org/schema/beans/spring-beans.xsd    
    7.         http://code.alibabatech.com/schema/dubbo    
    8.         http://code.alibabatech.com/schema/dubbo/dubbo.xsd    
    9.         ">         
    10.     <!-- 消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样 -->    
    11.     <dubbo:application name="consumer-of-helloworld-app" />         
    12.     <!-- 使用multicast广播注册中心暴露发现服务地址 -->    
    13.     <dubbo:registry  protocol="zookeeper" address="127.0.0.1:2181"/>           
    14.     <!-- 生成远程服务代理,可以和本地bean一样使用demoService -->    
    15.     <dubbo:reference id="demoService" interface="com.sw.www.DemoService" />    
    16. </beans> </span>  

    pom.xml 配置如下:

    1. <span style="font-size:14px;"><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    2.     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  
    3.     <modelVersion>4.0.0</modelVersion>  
    4.     <groupId>com.sw.www</groupId>  
    5.     <artifactId>dubbo_consumer</artifactId>  
    6.     <packaging>jar</packaging>  
    7.     <version>0.0.1-SNAPSHOT</version>  
    8.     <name>role_access_control</name>  
    9.     <url>http://maven.apache.org</url>  
    10.       
    11.     <!-- 各类依赖jar的版本声明 -->  
    12.     <properties>  
    13.         <junit.version>4.8.2</junit.version>  
    14.         <spring.version>3.2.2.RELEASE</spring.version>  
    15.         <javax-activation.version>1.1</javax-activation.version>  
    16.         <mysql-connector-java.version>5.1.34</mysql-connector-java.version>  
    17.         <shiro.version>1.2.3</shiro.version>  
    18.     </properties>  
    19.     <dependencies>  
    20.         <!-- junit -->  
    21.         <dependency>  
    22.             <groupId>junit</groupId>  
    23.             <artifactId>junit</artifactId>  
    24.             <version>${junit.version}</version>  
    25.             <type>jar</type>  
    26.         </dependency>  
    27.         <!-- spring start -->  
    28.         <dependency>  
    29.             <groupId>org.springframework</groupId>  
    30.             <artifactId>spring-aop</artifactId>  
    31.             <version>${spring.version}</version>  
    32.         </dependency>  
    33.         <dependency>  
    34.             <groupId>org.springframework</groupId>  
    35.             <artifactId>spring-aspects</artifactId>  
    36.             <version>${spring.version}</version>  
    37.         </dependency>  
    38.         <dependency>  
    39.             <groupId>org.springframework</groupId>  
    40.             <artifactId>spring-beans</artifactId>  
    41.             <version>${spring.version}</version>  
    42.         </dependency>  
    43.         <dependency>  
    44.             <groupId>org.springframework</groupId>  
    45.             <artifactId>spring-context</artifactId>  
    46.             <version>${spring.version}</version>  
    47.         </dependency>  
    48.         <dependency>  
    49.             <groupId>org.springframework</groupId>  
    50.             <artifactId>spring-context-support</artifactId>  
    51.             <version>${spring.version}</version>  
    52.         </dependency>  
    53.         <dependency>  
    54.             <groupId>org.springframework</groupId>  
    55.             <artifactId>spring-core</artifactId>  
    56.             <version>${spring.version}</version>  
    57.         </dependency>  
    58.         <dependency>  
    59.             <groupId>org.springframework</groupId>  
    60.             <artifactId>spring-dao</artifactId>  
    61.             <version>2.0.8</version>  
    62.         </dependency>  
    63.         <dependency>  
    64.             <groupId>org.springframework</groupId>  
    65.             <artifactId>spring-expression</artifactId>  
    66.             <version>${spring.version}</version>  
    67.         </dependency>  
    68.         <dependency>  
    69.             <groupId>org.springframework</groupId>  
    70.             <artifactId>spring-jdbc</artifactId>  
    71.             <version>${spring.version}</version>  
    72.         </dependency>  
    73.         <dependency>  
    74.             <groupId>org.springframework</groupId>  
    75.             <artifactId>spring-mock</artifactId>  
    76.             <version>2.0.8</version>  
    77.         </dependency>  
    78.         <dependency>  
    79.             <groupId>org.springframework</groupId>  
    80.             <artifactId>spring-orm</artifactId>  
    81.             <version>${spring.version}</version>  
    82.         </dependency>  
    83.         <dependency>  
    84.             <groupId>org.springframework</groupId>  
    85.             <artifactId>spring-test</artifactId>  
    86.             <version>${spring.version}</version>  
    87.         </dependency>  
    88.         <dependency>  
    89.             <groupId>org.springframework</groupId>  
    90.             <artifactId>spring-tx</artifactId>  
    91.             <version>${spring.version}</version>  
    92.         </dependency>  
    93.         <dependency>  
    94.             <groupId>org.springframework</groupId>  
    95.             <artifactId>spring-web</artifactId>  
    96.             <version>${spring.version}</version>  
    97.         </dependency>  
    98.         <dependency>  
    99.             <groupId>org.springframework</groupId>  
    100.             <artifactId>spring-webmvc</artifactId>  
    101.             <version>${spring.version}</version>  
    102.         </dependency>  
    103.         <!-- spring end -->  
    104.   
    105.         <!-- mysql -->  
    106.         <dependency>  
    107.             <groupId>mysql</groupId>  
    108.             <artifactId>mysql-connector-java</artifactId>  
    109.             <version>${mysql-connector-java.version}</version>  
    110.         </dependency>  
    111.   
    112.         <!-- shiro -->  
    113.         <dependency>  
    114.             <groupId>org.apache.shiro</groupId>  
    115.             <artifactId>shiro-core</artifactId>  
    116.             <version>${shiro.version}</version>  
    117.         </dependency>  
    118.         <dependency>  
    119.             <groupId>org.apache.shiro</groupId>  
    120.             <artifactId>shiro-web</artifactId>  
    121.             <version>${shiro.version}</version>  
    122.         </dependency>  
    123.         <dependency>  
    124.             <groupId>org.apache.shiro</groupId>  
    125.             <artifactId>shiro-spring</artifactId>  
    126.             <version>${shiro.version}</version>  
    127.         </dependency>  
    128.         <dependency>  
    129.             <groupId>org.apache.shiro</groupId>  
    130.             <artifactId>shiro-ehcache</artifactId>  
    131.             <version>${shiro.version}</version>  
    132.         </dependency>  
    133.         <dependency>  
    134.             <groupId>org.apache.shiro</groupId>  
    135.             <artifactId>shiro-quartz</artifactId>  
    136.             <version>${shiro.version}</version>  
    137.         </dependency>  
    138.   
    139.         <!-- servlet -->  
    140.         <dependency>  
    141.             <groupId>javax.servlet</groupId>  
    142.             <artifactId>servlet-api</artifactId>  
    143.             <version>2.5</version>  
    144.         </dependency>  
    145.         <dependency>  
    146.             <groupId>aopalliance</groupId>  
    147.             <artifactId>aopalliance</artifactId>  
    148.             <version>1.0</version>  
    149.         </dependency>  
    150.         <dependency>  
    151.             <groupId>org.apache.james</groupId>  
    152.             <artifactId>apache-mime4j</artifactId>  
    153.             <version>0.6.1</version>  
    154.         </dependency>  
    155.         <dependency>  
    156.             <groupId>asm</groupId>  
    157.             <artifactId>asm</artifactId>  
    158.             <version>3.3.1</version>  
    159.         </dependency>  
    160.         <dependency>  
    161.             <groupId>org.apache.axis</groupId>  
    162.             <artifactId>axis</artifactId>  
    163.             <version>1.4</version>  
    164.         </dependency>  
    165.         <dependency>  
    166.             <groupId>cglib</groupId>  
    167.             <artifactId>cglib-nodep</artifactId>  
    168.             <version>3.1</version>  
    169.         </dependency>  
    170.           
    171.         <!-- commons -->  
    172.         <dependency>  
    173.             <groupId>commons-beanutils</groupId>  
    174.             <artifactId>commons-beanutils</artifactId>  
    175.             <version>1.9.2</version>  
    176.         </dependency>  
    177.         <dependency>  
    178.             <groupId>commons-codec</groupId>  
    179.             <artifactId>commons-codec</artifactId>  
    180.             <version>1.10</version>  
    181.         </dependency>  
    182.         <dependency>  
    183.             <groupId>commons-collections</groupId>  
    184.             <artifactId>commons-collections</artifactId>  
    185.             <version>3.2.1</version>  
    186.         </dependency>  
    187.         <dependency>  
    188.             <groupId>commons-discovery</groupId>  
    189.             <artifactId>commons-discovery</artifactId>  
    190.             <version>0.5</version>  
    191.         </dependency>  
    192.         <dependency>  
    193.             <groupId>commons-fileupload</groupId>  
    194.             <artifactId>commons-fileupload</artifactId>  
    195.             <version>1.3.1</version>  
    196.         </dependency>  
    197.         <dependency>  
    198.             <groupId>commons-httpclient</groupId>  
    199.             <artifactId>commons-httpclient</artifactId>  
    200.             <version>3.1</version>  
    201.         </dependency>  
    202.         <dependency>  
    203.             <groupId>commons-io</groupId>  
    204.             <artifactId>commons-io</artifactId>  
    205.             <version>2.4</version>  
    206.         </dependency>  
    207.         <dependency>  
    208.             <groupId>commons-lang</groupId>  
    209.             <artifactId>commons-lang</artifactId>  
    210.             <version>2.6</version>  
    211.         </dependency>  
    212.         <dependency>  
    213.             <groupId>commons-logging</groupId>  
    214.             <artifactId>commons-logging</artifactId>  
    215.             <version>1.2</version>  
    216.         </dependency>  
    217.         <dependency>  
    218.             <groupId>dom4j</groupId>  
    219.             <artifactId>dom4j</artifactId>  
    220.             <version>1.6.1</version>  
    221.         </dependency>  
    222.           
    223.           
    224.         <dependency>  
    225.             <groupId>com.alibaba</groupId>  
    226.             <artifactId>druid</artifactId>  
    227.             <version>1.0.9</version>  
    228.         </dependency>  
    229.         <dependency>  
    230.             <groupId>net.sf.ehcache</groupId>  
    231.             <artifactId>ehcache-core</artifactId>  
    232.             <version>2.6.9</version>  
    233.         </dependency>  
    234.         <dependency>  
    235.             <groupId>net.sf.ezmorph</groupId>  
    236.             <artifactId>ezmorph</artifactId>  
    237.             <version>1.0.6</version>  
    238.         </dependency>  
    239.         <dependency>  
    240.             <groupId>org.freemarker</groupId>  
    241.             <artifactId>freemarker</artifactId>  
    242.             <version>2.3.21</version>  
    243.         </dependency>  
    244.         <dependency>  
    245.             <groupId>com.google.code.gson</groupId>  
    246.             <artifactId>gson</artifactId>  
    247.             <version>2.3.1</version>  
    248.         </dependency>  
    249.         <dependency>  
    250.             <groupId>org.apache.httpcomponents</groupId>  
    251.             <artifactId>httpcore</artifactId>  
    252.             <version>4.4</version>  
    253.         </dependency>  
    254.         <dependency>  
    255.             <groupId>org.apache.httpcomponents</groupId>  
    256.             <artifactId>httpmime</artifactId>  
    257.             <version>4.3.6</version>  
    258.         </dependency>  
    259.         <dependency>  
    260.             <groupId>com.fasterxml.jackson.core</groupId>  
    261.             <artifactId>jackson-core</artifactId>  
    262.             <version>2.4.4</version>  
    263.         </dependency>  
    264.         <dependency>  
    265.             <groupId>com.alibaba</groupId>  
    266.             <artifactId>fastjson</artifactId>  
    267.             <version>1.1.36</version>  
    268.         </dependency>  
    269.         <dependency>  
    270.             <groupId>javax.xml</groupId>  
    271.             <artifactId>jaxrpc</artifactId>  
    272.             <version>1.1</version>  
    273.         </dependency>  
    274.         <dependency>  
    275.             <groupId>jstl</groupId>  
    276.             <artifactId>jstl</artifactId>  
    277.             <version>1.2</version>  
    278.         </dependency>  
    279.         <dependency>  
    280.             <groupId>log4j</groupId>  
    281.             <artifactId>log4j</artifactId>  
    282.             <version>1.2.17</version>  
    283.         </dependency>  
    284.         <dependency>  
    285.             <groupId>org.mybatis</groupId>  
    286.             <artifactId>mybatis</artifactId>  
    287.             <version>3.2.1</version>  
    288.         </dependency>  
    289.         <dependency>  
    290.             <groupId>org.mybatis</groupId>  
    291.             <artifactId>mybatis-spring</artifactId>  
    292.             <version>1.2.0</version>  
    293.         </dependency>  
    294.         <dependency>  
    295.             <groupId>org.slf4j</groupId>  
    296.             <artifactId>slf4j-api</artifactId>  
    297.             <version>1.7.9</version>  
    298.         </dependency>  
    299.         <dependency>  
    300.             <groupId>org.slf4j</groupId>  
    301.             <artifactId>slf4j-log4j12</artifactId>  
    302.             <version>1.7.9</version>  
    303.         </dependency>  
    304.         <dependency>  
    305.             <groupId>taglibs</groupId>  
    306.             <artifactId>standard</artifactId>  
    307.             <version>1.1.2</version>  
    308.         </dependency>  
    309.         <dependency>  
    310.             <groupId>wsdl4j</groupId>  
    311.             <artifactId>wsdl4j</artifactId>  
    312.             <version>1.6.3</version>  
    313.         </dependency>  
    314.         <dependency>  
    315.             <groupId>org.freemarker</groupId>  
    316.             <artifactId>freemarker</artifactId>  
    317.             <version>2.3.21</version>  
    318.         </dependency>  
    319.         <!-- 后续 -->  
    320.           
    321.         <!-- dubbo依赖jar -->  
    322.         <dependency>  
    323.             <groupId>com.alibaba</groupId>  
    324.             <artifactId>dubbo</artifactId>  
    325.             <version>2.4.9</version>  
    326.             <exclusions>  
    327.                 <exclusion>  
    328.                     <artifactId>spring</artifactId>  
    329.                     <groupId>org.springframework</groupId>  
    330.                 </exclusion>  
    331.             </exclusions>  
    332.         </dependency>  
    333.   
    334.         <dependency>  
    335.             <groupId>org.apache.zookeeper</groupId>  
    336.             <artifactId>zookeeper</artifactId>  
    337.             <version>3.4.5</version>  
    338.             <exclusions>  
    339.                 <exclusion>  
    340.                     <groupId>log4j</groupId>  
    341.                     <artifactId>log4j</artifactId>  
    342.                 </exclusion>  
    343.             </exclusions>  
    344.         </dependency>  
    345.   
    346.         <dependency>  
    347.             <groupId>com.github.sgroschupf</groupId>  
    348.             <artifactId>zkclient</artifactId>  
    349.             <version>0.1</version>  
    350.         </dependency>  
    351.   
    352.     </dependencies>  
    353.     <build>  
    354.         <plugins>  
    355.             <plugin>  
    356.                 <artifactId>maven-compiler-plugin</artifactId>  
    357.                 <configuration>  
    358.                     <source>1.7</source>  
    359.                     <target>1.7</target>  
    360.                     <encoding>utf8</encoding>  
    361.                 </configuration>  
    362.             </plugin>  
    363.             <plugin>  
    364.                 <artifactId>maven-surefire-plugin</artifactId>  
    365.                 <configuration>  
    366.                     <includes>  
    367.                         <include>**/*Tests.java</include>  
    368.                     </includes>  
    369.                 </configuration>  
    370.             </plugin>  
    371.         </plugins>  
    372.         <defaultGoal>compile</defaultGoal>  
    373.         <finalName>dubbo_consumer</finalName>  
    374.     </build>  
    375. </project>  
    376. </span>  


    这个时候后我们的相关工程创建和代码的工作就完毕了。下面我们就来测试一把吧!

    首先我们启动zk,然后我们启动dubbo-admin的管理界面,界面如下(这里就不讲述它的安装部署方法了可以参照相关的文章):


    这里我们可以看到提供这里没有任何信息,下面我们来启动一下服务提供者,即上面提到的TestProvider类。运行完,我们可以看到管理页面如下:


    上图我们就可以看到有服务的提供者信息了。但是此时我们还看不到消费者的信息,因为还没有消费者去调用这个服务:


    这时我们就要启动消费服务的测试类,调用服务。即上面提到的TestDemo,调用完以后我们可以看到如下图:


    到此整个过程就完毕了!

    源码下载地址:http://download.csdn.net/detail/u011192409/9476829


                      </div>
                    </dd>
                  </dl>
  • 相关阅读:
    oracle 将以逗号分隔的列拆成多行的的方法
    Oracle 如何循环查询结果集,进行新增或修改
    CSS 属性 伪类和伪元素的区别
    正则应用—queryURLParameter()
    老式浏览器兼容HTML5和CSS3的问题
    CSS3 常用新特性总结
    移动web资源整理
    移动webApp 1像素实现(点5像素的秘密)
    Git常用命令总结
    undefined与null的区别
  • 原文地址:https://www.cnblogs.com/jobs-lgy/p/6307573.html
Copyright © 2011-2022 走看看