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端口号的?的详细内容,更多请关注慧达安全导航其它相关文章!

点赞(0)

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部