使用IntelliJiJiJ IDEA Ultimate启动Spring 在Boot项目中,即使是server.port=IDEA仍然可以神奇地显示项目端口号,以关闭日志输出。 有传言说这取决于JMX,但事实并非如此。禁用JMX后,IDEA无法识别端口号,但在JConsole中找不到相应的端口信息。
真相是:IntelliJ IDEA 通过Java 实现这一功能的Agent机制。启动项目时,IDEA注入Java Agent代码在项目过程中。这些代码启动服务,响应IDEA指令,返回包括端口号在内的流程信息。
这与RMI (调用远程方法) 类似,IDEA 在不依赖JMX的情况下,通过此服务与项目流程进行通信获取端口号。 因此,IDEA能够准确识别Spring,而不依赖JMX Boot项目的端口号。
以上是IntelliJi IDEA是如何识别Spring而不依赖JMX的 Boot项目的端口号?详情请关注图灵教育的其他相关文章!
