如何使Javamelody使用不同的端口(Spring Boot +公开了两个HTTP端口)


问题内容

我有Spring Boot Web应用程序。它公开了端口8080上的REST API。它还公开了带有Spring Boot
Management端点的管理端口8081(http://docs.spring.io/spring-
boot/docs/current/reference/html/production-ready-
monitoring.html

。我没有任何定制的Tomcat配置来实现这一目标。management.port=8081我的application.properties文件中只有属性。

我已经按照https://github.com/javamelody/javamelody/wiki/UserGuideAdvanced#spring-
boot-
app中所述配置了JavaMelody
(我有我的自定义JavaMelodyConfiguration类,带有org.springframework.boot.web.servlet.FilterRegistrationBean该寄存器net.bull.javamelody.MonitoringFilter)。

@Bean
    public FilterRegistrationBean javaMelody() {
        final FilterRegistrationBean javaMelody = new FilterRegistrationBean();
        javaMelody.setFilter(new MonitoringFilter());
        javaMelody.setAsyncSupported(true);
        javaMelody.setDispatcherTypes(DispatcherType.REQUEST, DispatcherType.ASYNC);
        javaMelody.addUrlPatterns("/*");
        return javaMelody;
    }

使用此配置,Javamelody在端口8080(业务端口)上公开。我想将其移至8081(管理端口)。如何改变呢?

我使用Spring Boot 1.4.2.RELEASE,javamelody 1.62.0


问题答案:

如果目标是从Java melody版本1.76开始公开对管理端口的监视,则现在要简单得多。

您需要Spring Boot 2.x,执行器以及yml或属性文件:

  • management.server.port:{您的自定义端口}
  • management.endpoints.web.exposure.include:{您通常想要的东西},监视
  • javamelody.management-endpoint-monitoring-enabled:true

在此处查看更多详细信息:https :
//github.com/javamelody/javamelody/wiki/SpringBootStarter#configuration-in-
case-of-management-
port