搭建微服务模块踩得坑
1、坑1 api中feignclient中的名字@FeignClient(name = "****") 和 该微服务名字不一样,调用api 会报feign.FeignException$ServiceUnavailable: [503 Service Unavailable] during GET …解决方法: name = "user-server" 的名字要和 application.yaml
1、坑1 api中feignclient中的名字
@FeignClient(name = "****") 和 该微服务名字不一样,调用api 会报feign.FeignException$ServiceUnavailable: [503 Service Unavailable] during GET …解决方法: name = "user-server" 的名字要和 application.yaml中spring: application: name: user-server 一样
2、坑2 application.yaml中配置mybatis的mapper-locations,引入其他模块中的mapper.xml文件
mapper-locations: classpath:mybatis/mappers/*.xml 不加* 会导致 Invalid bound statement (not found) 解决方法: 将原来的 mapper-locations: classpath:mybatis/mappers/*.xml 替换为 mapper-locations: classpath*:mybatis/mappers/*.xml
3、 坑3 搭建微服务 springboot和springcloud的版本要对应,否则会报错
4、 坑4 执行maven install的时候 当执行到test命令时会报maven-surefire相关的错
解决方法
在pom文件加入下面这个
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <testFailureIgnore>true</testFailureIgnore> </configuration> </plugin> </plugins> </build>
5、坑5 执行maven install的时候会报错
spring-boot-maven-plugin
解决方法: 在启动类的pom文件中加入
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
其他非启动类模块的pom文件,不要加入这个
6、 坑6 启动服务,springboot启动报错Error:Kotlin: Module was compiled with an incompatible version of Kotlin. The binary...
解决方法: idea中菜单栏 Build —> Rebuild Project 即可
7、 坑7 使用druid 配置多数据源 和flyway兼容问题
解决方法:见
8、坑8 配置多数据源,一定要注意各个配置项相互对应
9、spring-boot-admin-starter 和 spring-boot-starter-actuator关系
1、都是用来监控微服务的
2、spring-boot-admin-starter 中已经集成了 spring-boot-starter-actuator
SBA 全称 Spring Boot Admin 是一个管理和监控 Spring Boot 应用程序的开源项目。分为admin-server 与 admin-client 两个组件,admin-server通过采集 actuator 端点数据,显示在 spring-boot-admin-ui 上,已知的端点几乎都有进行采集,通过 spring-boot-admin 可以动态切换日志级别、导出日志、导出heapdump、监控各项指标 等等….
Spring Boot Admin 在对单一应用服务监控的同时也提供了集群监控方案,支持通过eureka、consul、zookeeper等注册中心的方式实现多服务监控与管理…
10、在搭建一个微服务中,同时引入flyway和seata 相关配置和包,启动该服务会报错,io.seata.common.exception.ShouldNeverHappenException: [xid:null]get tablemeta failed
解决方法:先引入flyway相关配置将服务启动成功后,再引入seata相关配置,启动服务
更多推荐
所有评论(0)