您的位置:首页 > 其它

dubboX提供rest服务

2017-01-10 09:51 260 查看
上一章,我们详细介绍了如何搭建dubbo服务,本章节我们将在dubbo服务的基础上,利用dubbox,对外提供rest服务。

1. 修改maven 依赖

目前的最新版是 
dubbox-2.8.4
 ,其实groupId和artifactId还是原来的不变,我们升级一下dubbo版本,并且新增dubbox依赖,修改后的pom文件如下

<dependencies>
<!-- spring framework -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.2.9.RELEASE</version>
</dependency>

<!-- dubbo -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.8.4</version>
</dependency>

<!-- zokeeper register center -->
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.3.3</version>
</dependency>

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

<!-- dubbox自身依赖-->
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
<version>3.0.7.Final</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-client</artifactId>
<version>3.0.7.Final</version>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.0.0.GA</version>
</dependency>

<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
<version>8.0.11</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-logging-juli</artifactId>
<version>8.0.11</version>
</dependency>
</dependencies>


2.修改provider.xml,增加rest协议

<!-- 提供方应用信息,用于计算依赖关系 -->
<dubbo:application name="dubbo-test-service"  />

<!-- 使用multicast广播注册中心暴露服务地址 -->
<dubbo:registry address="zookeeper://127.0.0.1:2181" client="zkclient" />

<!-- 用dubbo协议在20880端口暴露服务 -->
<dubbo:protocol name="dubbo" port="20880" />
<!-- 新增rest 协议-->
<dubbo:protocol name="rest" server="tomcat" port="9090"/>

<!-- 声明需要暴露的服务接口 -->
<dubbo:service interface="net.xiaocun.DemoService" ref="demoService" />

<!-- 和本地bean一样实现服务 -->
<bean id="demoService" class="net.xiaocun.impl.DemoServiceImpl" />


3.修改dubbo service实现,提供rest访问路径

@Path("demo")
public class DemoServiceImpl implements DemoService {

@GET
@Path("greeting")
@Produces("application/json; charset=UTF-8")
public String sayHello(@QueryParam("name") String name) {
return "Hello " + name;
}
}


4.测试,输入路径localhost:9090/demo/greeting?name=xiaocun,看到返回结果hello xiaocun




上一章,我们详细介绍了如何搭建dubbo服务,本章节我们将在dubbo服务的基础上,利用dubbox,对外提供rest服务。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  dubbo rest