gpt4 book ai didi

spring-boot - CXF 和 Spring 启动执行器,执行器端点不可用

转载 作者:行者123 更新时间:2023-12-05 05:19:52 24 4
gpt4 key购买 nike

我有一个带有 spring boot 1.4.2 和 CXF JAXRS 的项目设置。我想将 spring boot actuator 添加到项目中。这是我添加到项目中的配置。

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-actuator</artifactId>
</dependency>

之后我创建了一个 WAR 文件,然后将其部署到外部 tomcat 服务器中。但是当我访问健康 URL localhost:8080/management/health 时,它给出了 404 HTTP 代码。服务器正常启动,我可以看到包含以下详细信息的日志:

健康配置日志

[localhost-startStop-1] INFO org.springframework.boot.actuate.endpoint.mvc.EndpointHandlerMapping - Mapped "{[/management/health || /management/health.json],produces=[application/json]}" onto public java.lang.Object

Servlet(s) 配置日志

[localhost-startStop-1] INFO org.springframework.boot.web.servlet.DelegatingFilterProxyRegistrationBean - Mapping filter: 'springSecurityFilterChain' to: [/*]

[localhost-startStop-1] INFO org.springframework.boot.web.servlet.FilterRegistrationBean - Mapping filter: 'webRequestLoggingFilter' to: [/*]

[localhost-startStop-1] INFO org.springframework.boot.web.servlet.FilterRegistrationBean - Mapping filter: 'applicationContextIdFilter' to: [/*]

[localhost-startStop-1] INFO org.springframework.boot.web.servlet.ServletRegistrationBean - Mapping servlet: 'dispatcherServletRegistration' to []

[localhost-startStop-1] INFO org.springframework.boot.web.servlet.ServletRegistrationBean - Mapping servlet: 'dispatcherServlet' to [/]

[localhost-startStop-1] INFO org.springframework.boot.web.servlet.ServletRegistrationBean - Mapping servlet: 'CXFServlet' to [/services/*]

最佳答案

问题已解决,这里是详细信息。由于 CXF 和 spring boot 一起配置在一起,因此 CXF REST API 和执行器端点都配置为 '/'。为 CXF RESt 端点配置的 servlet bean 的名称是 dispatcherServletRegistration。 CXF servlet 的自动配置也正在发生,因为 CXf 的引导启动程序在 POM 中。因此你会发现 CXFServlet 也为 /services/* 配置。

Mapping servlet: 'dispatcherServletRegistration' to []

Mapping servlet: 'dispatcherServlet' to [/]

Mapping servlet: 'CXFServlet' to [/services/*]

我删除了自动配置选项 (CXFServlet),因为我有一些 CXF JAXRS 实现所需的自定义并将 dispatcherServletRegistration 映射到 /services/ * 现在一切正常。现在执行器在 '/' 下工作,CXF REST API 在 /services 下工作。

关于spring-boot - CXF 和 Spring 启动执行器,执行器端点不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45421261/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com