从阿里重新维护Dubbo开始,这个开源项目突然变得特别活跃。
新推出的2.6.0版本更合并了当当网Dubbox的部分特性,现已支持开发Rest接口。下面是笔者的尝试,请参考。
提供者
1、定义接口
ServiceFacade.java
public interface ServiceFacade {
String hello();
}
2、实现接口
ServiceImpl.java
@Path("demo")
public class ServiceImpl implements ServiceFacade {
@Override
@Path("hello")
@GET
public String hello() {
return "Hello World! ";
}
}
REST风格基于标准的Java REST API——JAX-RS 2.0实现,访问URL为:
http://ip:port/demo/hello
这里的@Path
、@GET
来自jaxrs-api.jar,dubbo-2.6.0没有自带,需要自己依赖:
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-client</artifactId>
<version>3.0.12.Final</version>
</dependency>
3、暴露接口
provider.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xmlns="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<!-- provider's application name, used for tracing dependency relationship -->
<dubbo:</