我有 Spring Boot Web 应用程序。它在端口 8080 上公开 REST API。它还通过 Spring Boot 管理端点 ( http://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-monitoring.html ) 公开管理端口 8081。
我没有任何自定义 Tomcat 配置来实现这一点。我的 application.properties
文件中只有属性 management.port=8081
。
我已按照中所述配置了 JavaMelody
https://github.com/javamelody/javamelody/wiki/UserGuideAdvanced#spring-boot-app
(我有我的自定义 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
关于java - 如何让Javamelody使用不同的端口(Spring Boot+暴露的两个HTTP端口),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41145640/