java - 通过Java Config更改Springboot Actuator服务管理端口

标签 java spring spring-boot

如下我可以更改服务器端口,有没有办法为执行器管理服务端口做同样的事情。

我知道更改 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/

相关文章:

java - Android - 在 ImageView 中交叉淡化多个图像

java - Spring junit Autowiring 自定义类必须有构造函数本身吗?

java - Tomcat 8 - 请求的资源不可用

amazon-web-services - AWS 应用程序的 Spring Boot 启动错误 : There is not EC2 meta data available

java - 如何使用 Java 而不是 XML 将 hbase 与 Spring Boot 一起使用?

JAVA追加stringbuilder到textarea,不替换textarea只是添加到它(需要替换而不是添加)

java - 实现比较方法的 Comparable 接口(interface)的 Widget 类

java - Maven/Eclipse : Could not find any META-INF/persistence. 类路径中的 xml 文件

java - 在 JUnit 测试中使用 setter,而无需在类里面使用 setter

java - 致命 BeanException : EmbeddedServletContainerFactory implementation cannot be instantiated