基于对过去Spring Boot问题的回答。我需要在Undertow中添加一个额外的执行器端口,而不是Tomcat。
我的代码:
@ManagementContextConfiguration(ManagementContextType.CHILD)
public class SecondActuatorPortConfiguration {
@Bean
ServletWebServerFactory undertowCustomizer() {
UndertowServletWebServerFactory factory = new UndertowServletWebServerFactory();
factory.addBuilderCustomizers(new UndertowBuilderCustomizer() {
@Override
public void customize(Builder builder) {
// I need to expose 9090 (management.server.port=9090)
// and additional port, lets say - 9091
builder.addHttpListener(9091, "0.0.0.0");
}
});
return factory;
}
}
在应用程序中。属性:
org.springframework.boot.actuate.autoconfigure.web.ManagementContextConfiguration=SecondActuatorPortConfiguration
但有了这些,我只能访问->http://127.0.0.1:9090/actuator但没有打开http://127.0.0.1:9091/actuator
application.properties
不是告诉Spring BootSecondActuatorPortConfiguration
应该被视为管理上下文的配置的合适位置。如@ManagementContextConfiguration
的javadoc中所述,应该使用META-INF/spring.factories
注册配置。spring.factories
文件需要包含在您的jar中,因此它相对于项目根的完整路径应该是src/main/resources/META-INF/spring.factories
。