项目原先使用xml发布dubbo服务,后来改成标注形式的时候发现,provider始终无法正确发布。
原因
service的bean被事务代理了,用的是cglib,而cglib产生的代理类为子类,@Service标签位于其父类上,也就是未被代理的原类,项目启动时寻找的是代理类,类上没有@Service标注所以发布失效。
解决办法
1.用xml形式发布服务
2.修改dubbo源码,参考https://blog.csdn.net/verne_feng/article/details/53022088