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

Spring Boot Devtools记录“正在启动应用程序”之后发生了什么

终育
2023-03-14

我正在尝试找出在使用Spring Boot devtools时改进Spring Boot应用程序重启时间的方法,并发现这些日志行之间始终存在约5秒的延迟:

2022-07-03 14:35:28.602 DEBUG 82357 --- [     Thread-165] o.s.boot.devtools.restart.Restarter      : Starting application ...

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v2.7.0)

2022-07-03 14:35:33.697  INFO 82357 --- [  restartedMain] c.c.c.ConfigServicePropertySourceLocator : Fetching config from server at : http://localhost:8888

我已经将根日志级别设置为TRACE,但在这5秒钟内仍然看不到任何东西。在那段时间里发生了什么,有什么可以做的来加快它吗?

共有1个答案

韩乐湛
2023-03-14

我很幸运,发现了一个冰雹通用谷歌搜索 5 秒 JVM 延迟的潜在问题,这导致我 https://github.com/netty/netty/issues/8993

这里描述了问题和解决方案:Jvm需要很长时间来解析本地主机的ip地址

这个答案有更多的信息,但简而言之,解决办法是:

  1. 主机名-
127.0.0.1 Monroes-MacBook-Pro.local
::1 Monroes-MacBook-Pro.local

相关页面:

  • https://thoeni.io/post/macos-sierra-java/
  • https://github.com/spring-projects/spring-boot/issues/31572
  • https://github.com/netty/netty/issues/8993
  • Jvm 需要很长时间才能解析本地主机的 IP 地址
 类似资料:
  • 我正在尝试在我的Spring Boot应用程序启动之前记录一些东西。下面是一个片段。我正在使用Lombok和Log4J2,并且已经完成了spring-boot-starter-logging排除+添加了spring-boot-starter-log4j2。我想知道如何让它工作,为什么现在的代码不能工作。 更新: 但是,如下所示,使用带有默认日志的Slf4j可以工作,为什么不使用Log4J2呢?(带

  • 我根据模板创建了一个应用程序,并填充了一些日志,如下所示 和 当我运行它时,我注意到有时它会启动三次。(有时,它会发射两次,有时发射一次)。 日志如下 起初,我以为是活动启动了3次,但是当我注销应用程序oncread时,它也启动了3次。我显式地放了一个静态变量,并且清楚地看到应用程序是3个不同的实例(因为变量没有在3次中递增)。 确认这不是因为配置更改或活动被终止(如中所述)https://sta

  • 每当Spring Boot应用程序即将启动时,我都会尝试做一些日志记录。 目前,我有一个类,实现,我将它注册为监听器在主函数的。 应用爪哇: 初始化Logger.java 问题是,每当我通过Intellij的SpringBoot运行程序或命令行作为胖罐子运行应用程序时,它都运行良好,但是当我将其部署到外部Tomcat时,这些日志不会显示出来(所有其他应用程序日志都运行良好)。 我该怎么做?

  • 我有一个quarkus应用程序,当我用下面的命令构建应用程序时,进程第一次开始完美地编译quarkus:dev-DskipTests=true 成功启动的日志: 但是当我停下来重新开始这个过程时,过程并没有开始... 启动失败的日志: 当我尝试重新启动机器,然后启动quarkus服务时,它会再次工作。 pom。xml: 如果有人遇到过类似的行为,请告诉我,这可能是什么根源。

  • 问题内容: 我希望能够在Web应用程序中记录用户活动。我目前正在使用log4j,它对于记录错误等非常有效,但是我不确定记录用户,执行的servlet方法和方法参数的最佳方法是什么。我正在使用Spring Security进行身份验证。 典型的servlet可能看起来像: 如果有两个用户foo和bar,则foo检查他的余额,bar存入两个现金10.00和5.00。我希望日志看起来像: 如果有人可以提

  • 我们的webstart应用程序(不是小程序)遇到了奇怪的启动问题。 启动应用程序会显示应用程序启动屏幕,但javaws进程会在不久后终止,不会在对话框、java控制台或日志文件中显示任何错误消息。javaws似乎只是在实际启动实际应用程序之前停止。无论用户尝试从桌面快捷方式还是从网页启动应用程序,都无关紧要。当从本地计算机使用javaw运行而无需webstart时,相同的应用程序可以正常工作。 应