dubbo

dubbo是一款RPC框架。RPC,远程过程调用。通俗来说,就是一台机器上的代码要调用另一台机器上的代码,这个过程叫远程调用。

dubbo开发过程

编写provider

定义服务接口和服务实现类

@Service注解标注实现类。此注解是dubbo的而不是spring的

provider中spring的配置

编写consumer

同样要定义一个和provider一致的接口

在Controller类中,使用 @Reference注解注入想要的服务实现类。

consumer方springmvc的配置

声明式事务
dubbo中添加了声明式事务后,provider将无法注册
原因:
1. 使用JDK的动态代理,默认代理对象的包名和原始的包名并不一致。
2. 生成的代理对象,会实现SpringProxy接口。dubbo识别时,会把前面的接口先注册
解决方案:
1. 强制使用CGLIB作为代理方式,而不使用JDK的代理方式。proxy-target-class="true"
2. 在provider方,Service注解中,明确指定要注册的接口。 @Service(interfaceClass = HelloService.class)

posted @ 2020-02-24 22:27  卯毛  阅读(132)  评论(0编辑  收藏  举报