springboot+dubbo配置走过的坑
来源:互联网 发布:鲍尔州立大学 知乎 编辑:程序博客网 时间:2024/06/07 06:38
12月4号:
接收一个springboot项目,需要加上我们的dubbo服务接口(消费者):
起初在网上找到的配置(如下):
spring: dubbo : application : name : hello-world-app registry : address : zookeeper://127.0.0.1:2181 scan: com.ibigsea.dubbo_provider.impl
但我们的zk是多个地址,所以我把 address: zookeeper://192.168.1.236:3181,192.168.1.237:3181,192.168.1.237:3182,这样的做法是错误的,
运行会报:java.exception.Number**的错,这个就不截图了,有兴趣可以试试。
正确的zk多个地址配置如下(记得把开头spring加上,我懒就不加了):
dubbo: application: name: qb-api-manager registries[0]: address: zookeeper://192.168.1.236:3181 registries[1]: address: zookeeper://192.168.1.237:3181 registries[2]: address: zookeeper://192.168.1.237:3182 scan: com.qb.api.manager.modules.web.service
加载正确的日志如下,可以看见dubbo加载(红框部分):
看日志很重要,红框部分在说明加载成功,另外我想说一下scan(scanner扫描)属性,网上好多人说scan指的是扫描dubbo接口所在的package,经测试这是错误的,如下图(zk加载日志没有出现),而且程序运行接口对象为null,所以scan接口为:dubbo接口对象所在类的package。
举个例子:接口A在com.vc.strong包下,你的功能cn.test.B类用了dubbo映射的A接口对象,那么你的scan应该配置成cn.test,而不是com.vc.strong;配置对了日志就是对的,配置错了日志中zkclient就不会出现。
另外还有其他网友说的调整接口引用类的位置(Controller和Service的位置),因为运行后接口对象为null,这个问题的根本是scan写错了,所以只需写对scan。
还有配置完全正确但是接口对象仍然为null的问题,Application不要集成任何类,只使用@SpringBootApplication即可。如下图:
最后如果不知道写配置,请在IDE中手动打开DubboProperties类,查看源码:
阅读全文
0 0
- springboot+dubbo配置走过的坑
- SpringBoot-dubbo配置信息介绍
- SpringBoot与Dubbo的整合
- 设计走过的坑
- spilt走过的坑
- SpringBoot学习笔记(7) SpringBoot整合Dubbo(使用yml配置)
- SpringBoot学习笔记(7) SpringBoot整合Dubbo(使用yml配置)
- springboot+dubbo
- 【走过的弯路】IAR 常用配置汇总
- SpringBoot下的Dubbo和Zookeeper整合
- 关于maven+dubbo+springboot环境的搭建
- 坑!自己走过的坑...
- c++11 走过的坑
- java 后台走过的坑
- Android-->我走过的坑
- Android Studio 走过的坑
- elasticsearch走过的一些坑
- eclipse 下载走过的坑
- NO.1.0
- java 运行时数据区详解
- Class 'org.apache.commons.dbcp.BasicDataSource' not found
- [昨日实践]RHEL5.X安装JDK1.7.0_80
- css cursor 鼠标指针样式总结
- springboot+dubbo配置走过的坑
- java培训学习为什么一直备受瞩目?
- Android 从源码分析Bitmap和BitmapFactory常用API
- makefile中命令前@
- 解析CIDR表示的IP段表示的范围
- 【Scikit-Learn 中文文档】特征提取
- 关闭和恢复adb
- [昨日实践]win2003下安装mysql5.5.57
- locate命令使用实例