You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何完全禁用JHipster生成的Spring Boot的management.observations

完全禁用JHipster 8.7.0中的Spring Boot Observations方案

问题分析

升级到JHipster 8.7.0后,即使配置了观测关闭项并移除自动添加的观测键值配置,仍出现Bean依赖异常。核心原因包括:

  • 配置存在缩进或拼写错误
  • 自定义OtelConfiguration类仍在创建OpenTelemetry相关Bean
  • Spring Boot的观测、追踪自动配置类未被完全排除

解决方案

1. 修正配置文件

确保application.yaml配置缩进正确,使用标准配置键(注意是enabled而非enable),同时额外关闭追踪功能避免触发关联Bean创建:

management:
  observations:
    enabled:
      all: false
  tracing:
    enabled: false

2. 排除自动配置类

在应用主类上排除观测、追踪相关的自动配置,阻止Spring Boot创建这些组件:

import org.springframework.boot.actuate.autoconfigure.observation.ObservationAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.observation.web.servlet.WebMvcObservationAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.tracing.MicrometerTracingAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.tracing.OpenTelemetryAutoConfiguration;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication(exclude = {
    ObservationAutoConfiguration.class,
    WebMvcObservationAutoConfiguration.class,
    MicrometerTracingAutoConfiguration.class,
    OpenTelemetryAutoConfiguration.class
})
public class YourApplication {
    public static void main(String[] args) {
        SpringApplication.run(YourApplication.class, args);
    }
}

3. 控制自定义OtelConfiguration的加载

如果完全不需要OpenTelemetry功能,直接删除com.aryza.ls.goodbook.config.OtelConfiguration类;若需保留该类仅在观测启用时生效,添加条件注解:

import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Configuration;

@Configuration
@ConditionalOnProperty(
    prefix = "management.observations",
    name = "enabled.all",
    havingValue = "true",
    matchIfMissing = true
)
public class OtelConfiguration {
    // 原有Bean定义...
}

4. 移除不必要的依赖(可选)

如果彻底不需要观测、追踪功能,直接从依赖管理中移除相关包:

  • Maven(pom.xml):移除micrometer-tracing、opentelemetry-exporter-otlp等相关依赖
  • Gradle(build.gradle):移除对应的依赖项

效果验证

完成以上操作后,启动应用将不再触发观测相关Bean的创建,依赖异常问题也会消失。

内容的提问来源于stack exchange,提问作者Dilyan Galabov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 11:33:21