Spring事务引发dubbo服务注册问题
2018-03-13 10:11
253 查看
文章清单
1. 问题
2. 查找bug过程
3. 解决方案
使用spring boot+dubbo写项目,一个服务,之前是正常的,后来调用方出现空指针异常,第一反应提供方出了问题。
1. 看控制台,服务方没有抛异常,重启调用方依旧空指针异常
2. 重启服务,dubbo控制台显示服务没有注册上
3. 修改配置文件,修改依赖,但是spring boot使用dubbo只需要一个starter依赖以及几行配置,未果
4. 重新写一个demo,服务注册正常,其他服务也正常,排除zookeeper问题
5. 把异常服务中的service类复制到demo中,demo引入interface依赖,删除demo中原有的service类,启动发现服务未注册
定位至service类的问题,突然想起来之前可用的时候没有加@Transactional注解,删除,服务注册正常。
应该是@Transactional标识的类会被spring代理,导致dubbo没有扫描到service,然后我尝试了把@Transactional放在方法上,问题又出现了
解决方案:
1. 参加这篇文章,修改dubbo源码,给@Service注解添加@Inhreted使其能被继承,并在使用时添加 interfaceName属性
http://blog.csdn.net/verne_feng/article/details/53022088
2. 写两个类,分别用于实现接口和发布服务
1. 问题
2. 查找bug过程
3. 解决方案
使用spring boot+dubbo写项目,一个服务,之前是正常的,后来调用方出现空指针异常,第一反应提供方出了问题。
1. 看控制台,服务方没有抛异常,重启调用方依旧空指针异常
2. 重启服务,dubbo控制台显示服务没有注册上
3. 修改配置文件,修改依赖,但是spring boot使用dubbo只需要一个starter依赖以及几行配置,未果
4. 重新写一个demo,服务注册正常,其他服务也正常,排除zookeeper问题
5. 把异常服务中的service类复制到demo中,demo引入interface依赖,删除demo中原有的service类,启动发现服务未注册
定位至service类的问题,突然想起来之前可用的时候没有加@Transactional注解,删除,服务注册正常。
应该是@Transactional标识的类会被spring代理,导致dubbo没有扫描到service,然后我尝试了把@Transactional放在方法上,问题又出现了
解决方案:
1. 参加这篇文章,修改dubbo源码,给@Service注解添加@Inhreted使其能被继承,并在使用时添加 interfaceName属性
http://blog.csdn.net/verne_feng/article/details/53022088
2. 写两个类,分别用于实现接口和发布服务
相关文章推荐
- 解决dubbo注册zookepper服务IP乱入问题的三种方式
- Spring Cloud Netflix Eureka: 多网卡环境下Eureka服务注册IP选择问题
- 解决dubbo注册zookepper服务IP乱入问题的三种方式
- Spring Boot + Dubbo 可运行的例子源码-实现服务注册和远程调用
- 被事务代理的spring service 不能使用注解方式发布dubbo服务
- SpringMVC+mybatis+dubbo使用事务导致服务不正常
- Dubbo无法访问远程Zookeeper已注册服务的问题
- Dubbo中多注册中心问题与服务分组
- dubbo服务无法注册问题 Failed to subscribe consumer:// 解决方法
- springboot微服务多线程与事务问题
- Spring Cloud Netflix Eureka: 多网卡环境下Eureka服务注册IP选择问题
- 使用dubbo注解@Service注册服务后使用aop或者申明式事物导致无法注册的问题解决办法
- 被事务代理的spring service 不能使用注解方式发布dubbo服务
- 被事务代理的spring service 使用注解方式发布Dubbo服务
- 本地dubbo服务的注册地址不正确问题
- Spring Cloud Eureka 服务注册列表显示 IP 配置问题
- Spring+Dubbo+Zookeeper框架搭建–<三>服务注册示例
- 解决dubbo注册zookepper服务IP乱入问题的三种方式
- Spring Cloud eureka 注册服务发现,访问管理页面是xml问题解决
- 被事务代理的spring service 使用注解方式发布Dubbo服务