如何使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