`

spring-cloud-alibaba

 
阅读更多

最近接到项目要求,要求搭建一个新的项目,而且需要指定的脚手架,拿到脚手架后,无力吐槽,一推坑。

简单介绍一下脚手架

服务注册和查找用的是nacos

配置中心用的也是nacos

网关用的是gateway

熔断用的是netflix.hystrix

流量管理用的是sentinel

鉴权用的是oauth

监控用的是spring-boot-admin 

链路追踪用的是zipkin

 

脚手架使用版本如下[-》 为升级后版本]

spingboot   2.1.2.RELEASE

springcloud   Greenwich.RELEASE

spring-cloud-alibaba   0.2.1.RELEASE   -》   0.9.0.RELEASE

 

坑1  版本使用不当

跑起来后,日志一直报错,如下

[.naming.updater] com.alibaba.nacos.client.naming          : [] [] [NA] failed to update serviceName: localhost

java.lang.NullPointerException: null
    at java.base/java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:936)
    at com.alibaba.nacos.client.naming.core.HostReactor.processServiceJSON(HostReactor.java:94)
    at com.alibaba.nacos.client.naming.core.HostReactor.updateServiceNow(HostReactor.java:342)
    at com.alibaba.nacos.client.naming.core.HostReactor$UpdateTask.run(HostReactor.java:429)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)

 

查这个坑走了些弯路,按字面理解已经可以发现是serviceName有问题,而Spingcloud 的G版本后已经不再使用这样的配置,可以直接断定alibaba的版本没有匹配上,升级spring-cloud-alibaba-dependencies版本即可

 

调试前端的时候又发现一个坑

导出excel的时候不是乱码就是空文本,总之下载后的excel会损坏,打不开,使用的是阿里的工具easyexcel,后来发现rar文件也损坏

调了半天发现是mock的锅,注释掉就好了。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics