如下所示我可以更改服务器端口,有没有办法为执行器管理服务端口做同样的事情。
我知道更改为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;
}
答案 0 :(得分:2)
是的,如果您深入了解源代码,因为management.port=XXX
只是自动配置ManagementServerProperties
bean,所以使用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;
}
}