2016-11-28 39 views
2

以下我可以更改服務器端口,是否有辦法爲執行器管理服務端口做同樣的事情。通過Java Config更改Springboot Actuator服務管理端口

我知道類似的方法來更改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; 
    } 

回答

2

是的,如果你深入到源,爲​​只是自動confiure的ManagementServerProperties豆,所以與JavaConfig,只是注入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; 
    } 
} 
+0

它不以某種方式工作, –

+0

@ mmc18可以添加更多的信息關於這個? –

+0

對不起,春天繼續在server.port事件服務,雖然我通過管理服務器屬性設置管理端口 - > setPort –