从0开始搭建简单的dubbo-点对点

dubbo简单的点对点方式搭建

dubbo的基础理论这里不做赘述,直接搭建简单的入门环境

1.quickstart的方式创建一个dubbo-order项目和dubbo-user项目,可以删除dubbo-order项目的src目录

2.quickstart的方式在dubbo-order项目中创建两个module:order-api和order-provider

3.dubbo-order这个父pom.xml文件中添加dependencyManagement 




com.test.dubbo.order
order-api
1.0-SNAPSHOT



4.order-provider中添加order-api的使用依赖和dubbo的依赖
order-provider:

com.alibaba
dubbo
2.5.3


com.test.dubbo.order
order-api
1.0-SNAPSHOT


5.添加实现
order-api中创建IOrderService接口以及OrderRequest和OrderResponse类(这两个类要序列化)

order-provider中创建OrderServiceImpl实现类以及Test类

public class OrderServiceImpl implements IOrderService {
@Override
public OrderResponse doOrder(OrderRequest request) {
System.out.println("请求request:"+request);
OrderResponse response = new OrderResponse();
response.setCode("1000");
response.setMessage("请求成功");
return response;
}
}
public class Test {
public static void main(String[] args) throws IOException {
System.out.println("start");
// Main.main(args);
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("file:E:\\gitRepertory\\dubbo-order\\order-provider\\src\\main\\java\\resources\\order-pointer.xml");
context.start();
System.in.read();
System.out.println("end");
}
}
6.将order-api install,注意如果此项目有改动需要重新打包运行
7.dubbo-user中也添加order-api的使用依赖、添加dubbo的依赖
dubbo-user:


com.test.dubbo.order
order-api
1.0-SNAPSHOT

com.alibaba
dubbo
2.5.3

8.这里要建立order-api和order-provider的目的是因为api提供接口,provider提供接口的实现
注意:如果打完包之后还是没引入,可以看下包里面是否有打上对应的service接口,如果没有打上对应接口的话,可以看下order-api的pom.xml文件如下就可以了,主要保证下面的正确
4.0.0
<groupId>com.test.dubbo.order
<artifactId>order-api
<version>1.0-SNAPSHOT
My Simple Webx Application
...

9.使用dubbo:
order-provider项目中添加order-provider.xml文件,内容如下:


xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
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">















dubbo-user项目中添加user-consumer.xml文件,内容如下:


xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
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">












url="dubbo://ip:20880/service.IOrderService"/> 注意:这个ip可以从order-provider启动的时候控制台查看,这里url的定义就是采用url直连的方式

注意:
dubbo-user和order-api的pom.xml文件中添加dubbo依赖,否则启动时候会报错
无法读取方案文档 'http://code.alibabatech.com/schema/dubbo/dubbo.xsd', 原因为 1) 无法找到文档; 2) 无法读取文档; 3) 文档的根元素不是
10.dubbo-user中创建运行主类:
public class UserTest {
public static void main(String[] args) {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("user-pointer.xml");
IOrderService service = (IOrderService) context.getBean("orderService");
OrderRequest request = new OrderRequest();
request.setName("Tom");
OrderResponse response = service.doOrder(request);
System.out.println("response:"+response);
}
}
运行order-api的main方法
  成功之后运行dubbo-user的main方法
最终
dubbo-user的控制台上打印出如下信息证明点对点模式成功:
response:OrderResponse{code='1000', data=null, message='请求成功'}

总结:
order-api封装外部调用的接口
order-provider做业务的具体实现
dubbo-user做服务的消费方
order-provider和dubbo-user中添加dubbo的注册文件和order-api、dubbo的依赖,因为它们是具体的服务提供方和消费方


















 

转载于:https://www.cnblogs.com/healthinfo/p/9488468.html

你可能感兴趣的:(java)