在我的休闲spring启动应用程序中,我像这样注册servlet。
import io.prometheus.client.exporter.*
.....
@Bean
public ServletRegistrationBean<MetricsServlet> registerMetricsServlet(MetricRegistry metricRegistry) {
return new ServletRegistrationBean<>(new MetricsServlet(), "/metrics");
}
这个servlet注册在与应用程序相同的端口上。问题是我的基础设施(k8s等)期望应用程序和度量端点在不同的端口上工作(就像执行器一样)。
如何在不同的端口上注册第三方servlet ?
您可以使用多个连接器和请求过滤器来完成此操作。(所有连接器处理方式相同)
- https://tech.asimio.net/2016/12/15/Configuring-Tomcat-to-Listen-on-Multiple-ports-using-Spring-Boot.html
注意
中的行public FilterRegistrationBean javaMelodyRestrictingFilter(FilterRegistrationBean javaMelodyFilter) {...
- spring boot 2.0监听多端口
这里是原始答案与两个端口配置弹簧启动