稳定性专题 | Spring Boot 常见错误及解决方法

  • 时间:
  • 浏览:4
  • 来源:uu快3网站_uu快3充值_玩法

『StabilityGuide』是阿里多位阿里技术工程师一并发起的稳定性领域的知识库开源项目,包含性能压测、故障演练、JVM、应用容器、服务框架、流量调度、监控、诊断等多个技术领域,以更内控 化的土最好的办法来打造稳定性领域的知识库,欢迎您的加入。

错误分析: Spring Boot 的正常 jar 包运行方是通过 spring-boot-loader 你这些模块里的 JarLauncher 完成的,该类内控 提供了一套运行的规范。

这是推荐的包内控 中项目的内控 :

@ComponentScan:

https://github.com/StabilityMan/StabilityGuide/blob/master/ComponentScan

配置问提排查:

进入 http://host:port/actuator/env 你这些 endpoint 查看具体的配置项属于哪个 PropertySource。

1、Spring Boot 配置的加载有着约定俗成的步骤: 从 resources 目录下加载 application.properties/application.yml ; 再根据里边的 spring.profiles.active 来加载不同 profile 的配置文件 application-dev.properties/application-dev.yml (比如加载 profile 为 dev 的配置文件)。

这是日志打印的不满足条件的 AutoConfiguratoin:

执行 Spring Boot 构建的 jar 包后,返回 "my.jar中越来越 主清单属性" 错误。

出理 方案:

1、Spring Boot 2.x 版本对 Actuator 做了血块的修改,其中访问的路径从

http://host:port/endpointid

变成了

http://host:port/actuator/endpointid 。

确保访问的路径正确。

2、Endpoint 有 Security 要求,

在配置里换成 management.endpoints.web.exposure.include=* 即可。

Spring Boot 作为 Java 生态中最流行的开发框架,是因为被数以万计的开发者所使用。下面根据大伙儿儿自身遇到的问提,换成用户提供的一些反馈,来大致梳理下 Spring Boot 的常见错误及出理 土最好的办法。

出理 方案: 在 pom 里换成 spring-boot-maven-plugin 的 maven 插件配置(该插件会在 jar 里加入 spring-boot-loader 的代码,并在 MANIFEST.MF 中的 Main-Class 里写入 JarLauncher):

Spring Boot 配置加载过程解析:

✅ @GitHub :

https://github.com/StabilityMan/StabilityGuide✅ @钉钉群:

本文作者:方剑,花名洛夜,GitHub ID @fangjian0423,开源爱好者,阿里巴巴高级开发工程师,阿里云产品 EDAS 开发,Spring Cloud Alibaba 开源项目负责人。

条件注解是 Spring Boot 的核心内控 之一,第三方的 starter 或大伙儿儿自定义的 starter 内控 都在加载一些 AutoConfiguration,有后后会处于一些 AutoConfiguration 越来越 被加载的情况汇报。是因为突然出现 NoSuchBeanDefinitionException, UnsatisfiedDependencyException 等异常

排查步骤(有有一种土最好的办法):

@SpringBootApplication 注解内控 也会使用 @ComponentScan 注解用于扫描 Component 。默认情况汇报下会扫描 @SpringBootApplication 注解修饰的入口类的包以及它下面的子包中所有的 Component 。

2、Spring Boot 所有的配置来源会被构造成 PropertySource,比如 -D 参数, -- 参数, 系统参数, 配置文件配置等等。哪几种 PropertySource 最终会被换成到 List 中,获取配置的后后会遍历你这些 List ,直到第一次获取对应 key 的配置,可是 会处于优先级的问提。具体配置的优先级参考:

https://stackoverflow.com/a/45822571

1、把 spring 的日志级别调到 debug 级别:

logging.level.org.springframework: debug。

2、从 ApplicationContext 中获取 ConditionEvaluationReport,得到内控 的 ConditionEvaluationReport.ConditionAndOutcomes 类中的输出信息。

3、进入 http://host:port/actuator/conditions 你这些 endpoint 查看条件注解的 match 情况汇报。

配置覆盖案例:

Nacos 服务注册的 IP 能都都上能通过 spring.cloud.nacos.discovery.ip 设置,当大伙儿儿打成 JAR 包后后,如需修改注册 IP,能都都上能通过 -Dspring.cloud.nacos.discovery.ip=xxx(-D 参数配置的优先级比配置文件要高)。

猜你喜欢

三星w2018组装机多少钱!

可选中两个 或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。提示:请各位消费者在收到这种于中奖或极低价格购机信息时谨慎对待,补救上当受骗。使用百度知

2020-03-22

王者荣耀拒绝了一次人脸识别,时候不弹出,每天只能玩一个小时,已成年,卸载重下已经试过了

使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。追问不怎么推荐不采纳的全是蔡徐坤。你对你这人 回答的评价是?追答收起更多回答(6)你对你这人 回答的

2020-03-22

网宿科技孙靖泽:CDN规模门槛为5T,整合潮年底就会出现

业内人士认为,CDN行业是另另四个靠规模取胜的行业,原因分析分析手里的服务器和强度很多,能应对的峰值就越高,越来越 也就更有能力做更大的客户。这几年随着市场需求的不断扩大,以

2020-03-22

OPPO哪一款手机比较好

换一换下载百度知道APP,抢鲜体验展开完正扫描二维码下载其他人刚买了oppor15,用了有另一有一个月了,感觉手感比较好,因此 运行传输数率还能要能,外观也比较好看,拿起来

2020-03-21

阿里云数据库资深专家林伟:大规模计算平台研究与实战

【云栖大会】高可用、高并发、高性能架构实战经验昨夜难忘?今晚20点,容器、后面 件、负载均衡等实战交流继续!进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。

2020-03-21