
intellij idea ultimate版本启动spring boot项目时,即使server.port配置为0且日志输出关闭,也能神奇地显示项目端口号。这究竟是如何实现的呢?
许多人猜测是通过jmx实现的,禁用jmx后,idea确实无法识别端口。然而,直接用jconsole查看spring boot进程属性,却找不到端口信息。
秘密在于intellij idea巧妙地利用了java agent技术。启动项目时,idea会在进程中注入代码,创建一个服务,用于与idea客户端通信,并提供进程信息。 这使得idea可以监控和控制运行中的spring boot应用。
这种机制类似于使用java的rmi协议进行远程通信。通过这种注入和通信,idea能够获取各种运行时信息,包括端口号。 因此,即使没有日志输出,idea也能准确识别spring boot项目的端口。
以上就是intellij idea是如何在不输出日志的情况下识别spring boot项目的端口号的?的详细内容,更多请关注代码网其它相关文章!
发表评论