dubbo注解暴露接口失败问题原因与解决

1.@Service注解引包错误

@Service正确的引包注解地址为

import com.alibaba.dubbo.config.annotation.Service;

2.在service层有事务注解@Transactional

springmvc框架扫描包的时候当发现@Transactional注解时,会生成一个代理类,并对这个类进行了管理,当进行dubbo接口暴露的时候扫描的会是代理类,而不是原先的类,因为代理类并没有进行@Service注解的继承,因此扫描这个类的时候就没有@Service注解了,因此也不会进行接口的暴露。

解决方法:

最简单的方法是直接在配置文件中对要暴露的接口类进行暴露,例如:

<!-- 和本地服务一样实现远程服务 -->
<bean id=“xxxService” class=“com.xxx.XxxServiceImpl” /> 
<!-- 增加暴露远程服务配置 -->

<dubbo:service interface=“com.xxx.XxxService” ref=“xxxService” />


若对dubbo问题还有地方需要了解可查看官方文档

dubbo官方中文文档地址为:http://dubbo.io/books/dubbo-user-book/

 

猜你喜欢

转载自blog.csdn.net/zwl18210851801/article/details/79319216