Springboot dubbo @Service @Transactional 无法提供服务或者无法提供事务的解决办法

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!

application.yml配置:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

aop依赖:

org.springframework.boot

spring-boot-starter-aop

**3,**虽然能提供服务,但不能被消费者找到,继续搜索,需要在具体实现类里的@Service上添加(version = “1.0.0”,interfaceClass=*.class),才可以,需要将接口的类名写入,才可以在dubbo-admin里正常展现服务接口,然后调用,可以做到事务回滚了。

服务提供方:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

服务消费方:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

注意:

**1,**首先提升dubbo的版本到2.6以后,再就是需要明确接口名称。

**2,**好多文章说要么注解实现dubbo,配置文件实现Transactional;要么注解实现Transactional,配置文件实现dubbo,不能同时注解两个,应该是老版本原因,现在可以同时支持了。

高能预警:

springboot+dubbo比较坑的是需要实现io.dubbo.springboot依赖,但是io.dubbo.springboot中包含的dubbo是dubbo:2.5.3,而且没有高版本的dubbo依赖了,那怎么办呢。。。。纠结了一下午,突然想到一个方案,然后顺利的解决这个问题了。

解决方案:

我们可以通过exclusions去除io.dubbo.springboot中的dubbo:2.5.3,然后再重新添加dubbo:2.6.2依赖就可以了。如果大家觉得这样就已经解决的话,那就大错特错了,因为你们会出现如下的错误:

**1.**java.lang.NoClassDefFoundError: org/I0Itec/zkclient/IZkStateListener

**2.**java.lang.NoClassDefFoundError: org/apache/zookeeper/Watcher E v e n t Event EventKeeperState

**3.**java.lang.NoClassDefFoundError: org/apache/curator/RetryPolicy

大家从报错的信息就可以看出来,是缺少对应的依赖,我们只要添加对应的依赖就可以了。

io.dubbo.springboot

spring-boot-starter-dubbo

1.0.0

com.alibaba

dubbo

com.alibaba

dubbo

2.6.2

org.apache.curator

技术学习总结

学习技术一定要制定一个明确的学习路线,这样才能高效的学习,不必要做无效功,既浪费时间又得不到什么效率,大家不妨按照我这份路线来学习。

最后面试分享

大家不妨直接在牛客和力扣上多刷题,同时,我也拿了一些面试题跟大家分享,也是从一些大佬那里获得的,大家不妨多刷刷题,为金九银十冲一波!

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!
家不妨多刷刷题,为金九银十冲一波!

[外链图片转存中…(img-VMii8VmX-1714663597599)]

[外链图片转存中…(img-lZaPvrYG-1714663597599)]

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值