CXF和弹簧启动执行器,执行器端点不可用

时间:2017-07-31 16:44:13

标签: spring-boot cxf spring-boot-actuator

我有一个带有spring boot 1.4.2和CXF JAXRS的项目设置。我想在项目中添加弹簧启动执行器。这是我添加到项目中的配置。

<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 -   映射&#34; {[/ management / health ||   /management/health.json],produces=[application/json]}"上市   java.lang.Object中

Servlet(s)配置日志

  

[localhost-startStop-1] INFO   org.springframework.boot.web.servlet.DelegatingFilterProxyRegistrationBean    - 映射过滤器:&#39; springSecurityFilterChain&#39;致:[/ *]

     

[localhost-startStop-1] INFO   org.springframework.boot.web.servlet.FilterRegistrationBean - 映射   过滤器:&#39; webRequestLoggingFilter&#39;致:[/ *]

     

[localhost-startStop-1] INFO   org.springframework.boot.web.servlet.FilterRegistrationBean - 映射   filter:&#39; applicationContextIdFilter&#39;致:[/ *]

     

[localhost-startStop-1] INFO   org.springframework.boot.web.servlet.ServletRegistrationBean - 映射   servlet:&#39; dispatcherServletRegistration&#39;到[]

     

[localhost-startStop-1] INFO   org.springframework.boot.web.servlet.ServletRegistrationBean - 映射   servlet:&#39; dispatcherServlet&#39;到[/]

     

[localhost-startStop-1] INFO   org.springframework.boot.web.servlet.ServletRegistrationBean - 映射   servlet:&#39; CXFServlet&#39;到[/ services / *]

1 个答案:

答案 0 :(得分:1)

问题已解决,详情如下。由于CXF和spring boot一起配置,因此CXF REST API和执行器端点都配置为'/'。为CXF RESt端点配置的servlet bean的名称是 dispatcherServletRegistration 。另外还有一个CXF servlet的自动配置也发生了,因为CXF的启动启动器在POM中。因此,您可以找到 / services / * CXFServlet

  

将servlet映射:'dispatcherServletRegistration'到[]

     

将servlet映射:'dispatcherServlet'到[/]

     

将servlet映射:'CXFServlet'到[/ services / *]

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