项目基于dubbo-2.6.0 + zk-3.4.10实现
关于dubbo-admin和zk就不说了 下面直接开始撸代码。
- 下图是项目结构
- 新建maven project 父工程 下面是maven库 版本依赖
-
<?xml version="1.0" encoding="UTF-8"?> <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.lxk.demo</groupId> <artifactId>demo-parent</artifactId> <packaging>pom</packaging> <version>1.0-SNAPSHOT</version> <!-- 统一管理依赖版本 --> <properties> <spring.version>4.3.10.RELEASE</spring.version> <dubbo.version>2.6.0</dubbo.version> <zookeeper.version>3.4.10</zookeeper.version> <zkclient.version>0.3</zkclient.version> <log4j.version>1.2.14</log4j.version> <jstl.version>1.2</jstl.version> <standard.version>1.1.2</standard.version> <jackson-databind.version>2.5.4</jackson-databind.version> </properties> <modules> <module>demo-interface</module> <module>demo-service</module> <module>demo-web</module> </modules>
- 新建 maven Module 子工程为服务提供者接口工程 -- 编写测试接口
- 新建 maven Module 子工程为服务提供者接口实现工程 -- maven 依赖
-
<?xml version="1.0" encoding="UTF-8"?> <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"> <parent> <artifactId>demo-parent</artifactId> <groupId>com.lxk.demo</groupId> <version>1.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>demo-service</artifactId> <dependencies> <!-- Logger日志 --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>${log4j.version}</version> </dependency> <!-- dubbo --> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>${dubbo.version}</version> </dependency> <!-- zookeeper --> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>${zookeeper.version}</version> </dependency> <!-- zkclient 用于访问zookeeper --> <dependency> <groupId>com.101tec</groupId> <artifactId>zkclient</artifactId> <version>${zkclient.version}</version> </dependency> <dependency> <groupId>com.lxk.demo</groupId> <artifactId>demo-interface</artifactId> <version>1.0-SNAPSHOT</version> </