这几天搞了下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
最后说明你的代码运行成功了.