IntelliJ IDEA是如何在禁用JMX和日志的情况下识别Spring Boot端口号的?(禁用.端口号.识别.情况下.如何在...)

wufei123 发布于 2025-01-09 阅读(25)

intellij idea是如何在禁用jmx和日志的情况下识别spring boot端口号的?

IntelliJ IDEA 识别 Spring Boot 端口号的原理

当使用 IntelliJ IDEA Ultimate 运行 Spring Boot 项目时,IDE 会自动显示端口号。即使在配置 server.port=0 并禁用输出日志的情况下,它仍然可以识别出端口号。

过去,人们认为 IntelliJ IDEA 是从 JMX 中获取端口号的。然而,当禁用 JMX 端点时,IDE 仍然能够识别端口号。这表明还有另一种方法。

实际上,IntelliJ IDEA 使用 JavaAgent 在要启动的进程中注入代码。这些注入的代码启动了一个服务,用于接收 IDEA 的指令和返回进程信息。通过这种方式,IDE 可以控制进程并访问其端口号。

使用 Java 的 RMI(远程方法调用)可以创建类似的通信协议。通过在进程中注入 RMI 服务,IntelliJ IDEA 可以远程获取端口号和其他信息。

以上就是IntelliJ IDEA是如何在禁用JMX和日志的情况下识别Spring Boot端口号的?的详细内容,更多请关注知识资源分享宝库其它相关文章!

标签:  禁用 端口号 识别 

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。