Spring Boot - 如何获取正在运行的端口

标签 spring spring-boot port embedded-tomcat-7

我有一个 Spring Boot 应用程序(使用嵌入式 tomcat 7),并且我在 application.properties 中设置了 server.port = 0,所以我可以拥有一个随机端口。在服务器启动并在端口上运行后,我需要能够获取选择的端口。

我不能使用 @Value("$server.port") 因为它是零。这是一条看似简单的信息,为什么我不能从我的 java 代码中访问它呢?我怎样才能访问它?

最佳答案

是否也可以通过类似的方式访问管理端口,例如:

  @SpringBootTest(classes = {Application.class}, webEnvironment = WebEnvironment.RANDOM_PORT)
  public class MyTest {

    @LocalServerPort
    int randomServerPort;

    @LocalManagementPort
    int randomManagementPort;

关于Spring Boot - 如何获取正在运行的端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30312058/

相关文章:

spring - 如何在 spring-security-oauth 中获取经过身份验证的用户

java - Spring Bean @Autowired 和@Qauilifier 名称在我的情况下不起作用。任何人都可以帮助我提供确切的工作示例

java - @Service 中带有 Kotlin 的 Spring Boot @Autowired 始终为空

spring - @Pointcut 和@Around 可以在不同的类中吗?

java - 根据 Spring Boot 中的角色获取用户列表

java - 悲观锁不起作用 Spring Boot Data JPA

java - 如何在 Spring 5 Controller 中以声明方式使用 JWT 授权?

Python/P2P - 无法连接到集合点服务器

java - 为什么到端口 23 的套接字连接不起作用?

networking - 在 docker 中使用 netcat 通信两个容器