Spring Boot BufferedApplicationStartup 在第一次请求后耗尽

Spring Boot BufferedApplicationStartup drained after first request

我正在使用很棒的新 ApplicationStartup recording feature of Spring 5.3 / Spring Boot 2.4, with BufferedApplicationStartup(仅由 SB 2.4 提供)。

然而,

这在某处记录了吗?它是可配置的吗?如果第一次调用后数据没有丢失就太好了。或者这是一个错误?

这是 we are draining the buffer 在通过线路发送启动事件之前的预期行为。 HTTP POST 方法的使用也表明此方法并非没有副作用。

可以更好地记录这方面的内容,因此 feel free to create an issue

这里的目标是尽快从那些缓冲的事件中释放内存,因为可能有很多。如果您希望记录启动事件并获取更多信息,例如 GC 和 class 加载,Java Flight Recorder 实现也很有趣。

应用程序可用后,大多数启动事件都应该存在。如果您的应用程序具有惰性组件,则在调用它们之前您不会获得该数据,这可能在应用程序运行时随时发生。