友善交流技术...

dubbo 客户端链接远程provide 配置及原码

上一篇 / 下一篇  2016-06-17 17:46:59 / 个人分类:开发代码

 这几天搞了下dubbo服务器的链接配置,目前可以通过客户端来通过配置,链接服务器的interface , 从而实现对程序的接口测试

具体的实现如下

1.搭建环境 (spring+dubbo+zookeeper) 其实就一部分jar
 
   pom.xml
  <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.dubbo.demo</groupId>
    <artifactId>DubboClientDemo</artifactId>
    <version>0.0.1</version>
    <build>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <dependencies>
 
      
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>dubbo</artifactId>
            <version>2.5.3</version>
        </dependency>

        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.4.6</version>
        </dependency>

        <dependency>
            <groupId>com.github.sgroschupf</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.1</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.1.6.RELEASE</version>
        </dependency>
    </dependencies>
</project>

  另外服务器端的jar包,也需要导入的.

 2. 搭建客户端代码
  useProvide.java 代码如下
 
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.xxx.customer.model.User;
import com.xxx.customer.service.UserService;
public class useProvide {
    public static void main(String[] args) throws Exception {      
        long t;
        System.out.println(t=System.currentTimeMillis());   
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext(new String[] { "classpath*:config/useServiceDubbo.xml" });          
        UserService us =    (UserService) applicationContext.getBean("userService");
        User user = us.findUserById((long)214945);
        System.out.println(user.getEmail());
        System.out.println(user.getMobile());
        System.out.println("Total time: " + (System.currentTimeMillis()-t));
      
    }

}
 
3.配置 xml
   3.1 如果直接链接服务provide 参考如下配置
   useServiceDubbo.xml
  
   <dubbo:reference
        id="userService"
        interface="com.xxx.customer.service.UserService"
        url="dubbo://192.168.6.1:12010/com.xxx.customer.service.UserService"
        version="1.0.0" />
  3.2 如果直接链接zookeeper 可能参考如下配置
   
    <!-- 使用dubbo -->
    <dubbo:monitor protocol="registry" />      
    <dubbo:application name="xxxx-customer" />
 
    <dubbo:registry id="registry"  protocol="registry"  address="zookeeper://zk01.xxxx.com:2181" />
    
    <dubbo:consumer check="false" />
    <dubbo:protocol name="dubbo" port="12010" />  
    <dubbo:reference id="userServiceImpl" interface="com.xxx.customer.service.UserService" version="1.0.0"/>
    <dubbo:reference id="shareUserService" interface="com.xxx.customer.service.ShareUserService" version="1.0.0"/>

4. 运行代码 
  useProvide.java
   执行结果为:
    2016-06-17 17:38:42,748 INFO       
    1466156323097
    test1@163.com
    13503000001
    Total time: 316 


最后说明你的代码运行成功了. 
  
 
  


TAG: provide 客户端

 

评分:0

我来说两句

Open Toolbar