使用 Prometheus 监控 Spring Boot 应用
1、概览 {#1概览} ----------- 在软件开发这个要求严苛的领域中,确保应用在在部署到生产环境后能够以最佳性能和可靠性运行是至关重要的。 本文将带你了解如何在 Spring Boot 应该中整合 Prometheus,以及如何通过基本配置和复杂配置丰富我们的监控策略。 2、Prometheus 是什么? {#2prometheus-是什么} ---------...
1、概览 {#1概览} ----------- 在软件开发这个要求严苛的领域中,确保应用在在部署到生产环境后能够以最佳性能和可靠性运行是至关重要的。 本文将带你了解如何在 Spring Boot 应该中整合 Prometheus,以及如何通过基本配置和复杂配置丰富我们的监控策略。 2、Prometheus 是什么? {#2prometheus-是什么} ---------...
从 Spring Boot 3.2 进行升级 {#从-spring-boot-32-进行升级} ----------------------------------------------- ### Jersey Observability(可观察性) {#jersey-observability可观察性} Micrometer 1.13 已放弃对 Jersey 的支持,转...
1、概览 {#1概览} ----------- 在使用 [Spring Data JPA](/spring-data-jpa/) 时,我们经常会利用派生和自定义查询,以我们喜欢的格式返回结果。一个典型的例子就是 *DTO* 投影,它提供了一种只 *SELECT* 某些特定列以减少不必要数据开销的好方法。 然而,DTO 投影并不总是那么容易,如果实现不当,可能会导致 `Con...
[Spring Boot 3.3.0](/spring-boot-3-3-available-now/) 已经发布,其中包含对 [SBOM](https://en.wikipedia.org/wiki/Software_supply_chain) 的支持。SBOM 是 "Software Bill of Materials"(软件物料清单)的缩写,描述了用于...
1、简介 {#1简介} ----------- 本文将带你了解如何在 Spring Boot Filter(过滤器)中获取 `ServletResponse` 的响应体。 2、场景 {#2场景} ----------- 在使用 Spring Boot 中使用 Filter 时,从 `ServletResponse` 访问响应体非常麻烦。这是因为响应体不是随时可用的,它是在...
1、简介 {#1简介} ----------- [Spring Data JPA](/spring-data-jpa/) 为与关系数据库交互提供了强大的抽象层。然而,传统的关系表可能并不适合存储复杂的、半结构化的数据,如产品详细信息或用户偏好。这就是 *JSONB* 数据类型的用武之地。 本文将带你学习使用 Spring Data JPA 查询 JSONB 列的各种方法。 ...
1、概览 {#1概览} ----------- JPA 中的事务机制是一个功能强大的工具,它通过提交所有更改或在出现异常时回滚更改来确保原子性和数据完整性。然而,在某些情况下,我们可能需要在遇到异常的情况下继续进行事务处理而不回滚数据更改。 2、出现异常后事务自动回滚 {#2出现异常后事务自动回滚} ----------------------------- 在事务中可能...
1、概览 {#1概览} ----------- 本文将带你了解如何测试 Spring Application Event,以及如何使用 Spring Modulith 的测试库。 2、Application Event {#2application-event} ----------------------------------------- [Spring](/spr...
1、简介 {#1简介} ----------- 本文将带你了解如何测试启用了定时任务(`@EnableScheduling`)的 Spring 应用,以及如何在测试过程中禁用定时任务。 2、示例 {#2示例} ----------- 首先来看一个示例,假设我们有一个系统,允许公司的代表向客户发送通知。其中一些通知是时间敏感的,应该立即发送,但有些通知应该等到下一个工作日再...
🐞 Bug 修复 {#-bug-修复} -------------------- * `BindValidationFailureAnalyzer` 使用了错误的 target [#40364](https://github.com/spring-projects/spring-boot/issues/40364) * `Log4j2LoggingSystem` 通过一个永...