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

Spring Boot 3.2.0调用Actuator健康端点报错:缺失dispatcherServletRegistration Bean

Spring Boot 3.2.0 Actuator健康端点异常原因分析

核心问题根源

1. 自动配置被干扰或缺失

Spring Boot 3.2.0中,Actuator的Web端点依赖DispatcherServletRegistrationBean获取Servlet上下文的注册信息,这个Bean默认由DispatcherServletAutoConfiguration自动创建。如果你的应用出现以下情况,会导致自动配置失效:

  • 配置类通过@SpringBootApplication(exclude = DispatcherServletAutoConfiguration.class)直接排除了DispatcherServlet的自动配置
  • 自定义了DispatcherServlet Bean,但未同步注册对应的DispatcherServletRegistrationBean,导致Servlet上下文无相关注册记录
  • 应用被误配置为非Web类型(比如移除了spring-boot-starter-web依赖,但又启用了Actuator Web端点)

2. 手动添加Bean引发冲突

当你手动创建DispatcherServletRegistrationBean时,Spring Boot的自动配置逻辑在满足条件(存在DispatcherServlet且无自定义注册Bean)时,会自动生成名为dispatcherServletRegistration的Bean,这就导致了同类型Bean的定义冲突。其他四个微服务正常,说明它们的自动配置流程未被干扰,自动生成的Bean能被Actuator正常识别。

3. 微服务间的配置/依赖差异

异常微服务和正常微服务可能存在以下差异:

  • Spring Boot版本不一致(比如其他微服务使用3.2.0之前的版本,版本变更导致自动配置逻辑调整)
  • 配置文件中存在特殊配置项,比如修改了spring.mvc相关参数,干扰了DispatcherServlet的注册流程
  • 引入了第三方依赖,该依赖修改了Web Servlet的注册逻辑,覆盖或破坏了默认自动配置

快速排查与修复建议

  • 检查@SpringBootApplication注解,确认未排除DispatcherServletAutoConfiguration
  • 移除手动创建的DispatcherServletRegistrationBean,恢复自动配置逻辑;若必须自定义DispatcherServlet,需通过DispatcherServletRegistrationBean正确注册,且避免使用默认bean名称dispatcherServletRegistration
  • 对比异常微服务与正常微服务的依赖清单,排查是否存在依赖缺失或版本不一致
  • 检查应用配置文件,确认未修改过影响DispatcherServlet注册的配置项

内容的提问来源于stack exchange,提问作者Maximilian Kramps

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 17:56:12