如下我可以更改服务器端口,有没有办法为执行器管理服务端口做同样的事情。
我知道更改 via 系统参数的类似方法,将 management.port=XXX 添加到 application.properties 中。
@EnableScheduling
@Configuration
@EnableAspectJAutoProxy
@Profile("dev")
public class AppConfig {
Logger logger = LoggerFactory.getLogger(AppConfig.class);
@Autowired
DBPropertyBean dbPropertyBean;
private @Value("${webserver.port}")
int serverPort;
@Bean
public EmbeddedServletContainerFactory servletContainer() {
TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory();
factory.setPort(serverPort);
return factory;
}
最佳答案
是的,如果你深入源代码,因为 management.port=XXX
只是自动配置 ManagementServerProperties
bean,所以使用 JavaConfig,只需注入(inject)ManagementServerProperties
并配置端口。 (作为演示,我对所有端口进行了硬编码。)
@Configuration
class AppConfig {
private int serverPort = 8081;
@Autowired
private ManagementServerProperties managementServerProperties;
@Bean
public EmbeddedServletContainerFactory servletContainer() {
TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory();
factory.setPort(serverPort);
if (managementServerProperties != null)
managementServerProperties.setPort(8089);
return factory;
}
}
关于java - 通过Java Config更改Springboot Actuator服务管理端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40837886/