当前位置: 首页 > 知识库问答 >
问题:

Spring引导-如何获得运行端口

岳华灿
2023-03-14

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

我不能使用@value(“$server.port”),因为它为零。这是一条看似简单的信息,那么为什么我不能从我的java代码中访问它呢?我如何访问它?

共有1个答案

钱飞翼
2023-03-14

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

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

    @LocalServerPort
    int randomServerPort;

    @LocalManagementPort
    int randomManagementPort;
 类似资料:
  • 我如何获得在运行时部署我的应用程序的主机和端口,以便在我的java方法中使用它?

  • 我正在试用Netflix OSS来实现一个微服务架构。我希望在运行时从bootstrap.yml文件记录以查看哪个实例为请求提供服务。 我使用的是Java8。 重要的库版本为: *spring-boot-starter-web-1.5.8 *spring-boot-starter-tomcat-1.5.8 *tomcat-embedd-core-8.5.23 在浏览了stackoverflow之后

  • 问题内容: 我有一个spring boot应用程序(使用嵌入式tomcat 7),并且已经设置好了,所以我可以有一个随机端口。服务器启动并在端口上运行后,我需要能够获取所选择的端口。 我不能使用,因为它是零。这是一条看似简单的信息,所以为什么不能从我的Java代码访问它呢?我该如何访问? 问题答案: 该解决方案并不像我想要的那样优雅,但是我可以使用它。阅读spring文档,我可以侦听Embedde

  • 脚本:-dcom.sun.management.jmxRemote-dcom.sun.management.jmxRemote.port=9890

  • 我有一个基于aspectj的通用java代理,它在几个spring boot应用程序(和几个spring boot版本)上运行。我试图找到一种在运行时获取端口的方法,在应用程序启动时(在发出请求之前)以编程方式获取端口。问题是- > 我无法使用常规方式获取Spring Boot端口,如https://stackoverflow.com/questions/30312058/spring-boot-

  • 我有一个rest Spring Boot rest API,我想测试它。我可以在Eclipse中手动运行测试(不使用maven,并通过将应用程序作为JUnit测试运行),它运行良好并显示结果,但是不能“工作”,如下所示。 以下是我的POM文件: