1. 准备
1.安装zookeeper,见zookeeper基本安装配置
2.部署dubbo-admin服务,见dubbo-admin部署
2. 创建服务接口
创建Maven工程,如工程artifactId为test-dubbo-api,添加要对外提供接口,并使用maven打包/安装/部署到maven服务器即可(package|install|deploy)。
例如添加接口HelloService,对外提供sayHelloToDubbo方法。如下:
public interface HelloService {
public String sayHelloToDubbo();
}
3. 发布服务
创建Web工程,依赖上面的工程test-dubbo-api.jar,并实现服务接口,如下
public class HelloServiceImpl implements HelloService {
public String sayHelloToDubbo() {
return "Hello Dubbo, Nice to meet you!";
}
}
依赖dubbo和spring相关pom文件,如下
<dependencies>
<dependency>
<groupId>com.xxx</groupId>
<artifactId>test-dubbo-api</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.5.3</version>
<exclusions>
<exclusion>
<artifactId>spring</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring-version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring-version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring-version}</version>
</dependency>
<dependency>
<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
<version>0.1</version>
</dependency>
</dependencies>
<properties>
<spring-version>4.1.6.RELEASE</spring-version>
<java-version>1.7</java-version>
</properties>
在spring中配置dubbo
在<beans>中添加dubbo的xmlns相关声明
<beans xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation=
"http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
配置dubbo信息,zookeeper的地址以及要提供的服务接口
<bean id="helloService" class="com.xxx.testdubbo.api.HelloServiceImpl"></bean>
<!-- 提供方应用名称信息 -->
<dubbo:application name="hello_server"></dubbo:application>
<!-- 使用zookeeper注册中心 -->
<dubbo:registry address="zookeeper://127.0.0.1:2181" check="false" subscribe="false" register=""></dubbo:registry>
<!-- 要提供的服务接口 -->
<dubbo:service interface="com.xxx.testdubbo.api.HelloService" ref="helloService" />
启动服务即可注册到dubbo
4. 调用服务
使用maven创建web工程,依赖test-dubbo-api.jar,以及dubbo相关jar包,这里必须要依赖zkclient,maven依赖与发布服务相同。
配置Spring
<!-- 在dubbo注册应用名称 -->
<dubbo:application name="dubbo_client"></dubbo:application>
<!-- zookeeper地址 -->
<dubbo:registry address="zookeeper://127.0.0.1:2181" check="false"></dubbo:registry>
<!-- 依赖的服务 -->
<dubbo:reference interface="com.xxx.testdubbo.api.HelloService" id="helloService"></dubbo:reference>
配置完成后,在项目中调用helloService就想调用本地服务一样了。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。