当前位置: 首页>后端>正文

springboot CronTask不执行 springboot onstartup

首先引入依赖。

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

启动类:

SpringApplication application = new SpringApplication(XuexitongtwoApplication.class);
        application.setApplicationStartup(new BufferingApplicationStartup(10000));
        application.run(args);

配置文件:

management.endpoints.web.exposure.include=startup

之后再命令行中输入:

curl --location --request POST http://localhost:8099/actuator/startup

即可输出信息。

springboot CronTask不执行 springboot onstartup,springboot CronTask不执行 springboot onstartup_spring,第1张

意义:

在应用程序启动过程中,Spring Boot在后台执行大量工作。这项工作涉及创建Spring Application Context,创建各种bean,自动装配和各种组件的自动配置,最后启动应用程序。当Spring Boot应用程序的启动速度很慢时,它可能是一个或多个bean和相关的依赖项,需要花费更长的时间来初始化和减慢整个过程。

对Spring Boot应用程序进行性能分析通常无法帮助诊断启动问题。这是因为初始化了许多Bean,而实际上很难弄清是哪些导致了延迟。在这种情况下,Spring Boot应用程序启动指标非常有用。

在本教程中,我们将在Spring Boot应用程序中启用ApplicationStartup指标。我们还将启用Spring Boot Actuator启动端点来监视启动指标。最后,我们将使用Java Flight Recorder记录应用程序启动指标。

ApplicationStartup和StartupStep

在Spring Boot 2.4发布之前, 确实很难确定启动缓慢的根本原因。但是,在Spring Boot 2.4.0中,我们有机会生成ApplicationStartup指标,该指标可用于准确确定哪个部分花费的时间更长。

尽管该ApplicationStartup接口及其概念是Spring Boot的新功能,但它们自5.3版本以来就是Spring Framework的一部分。启动度量标准提供了组件初始化,bean实例及其依赖关系链接的详细日志和逐步减少的日志。而且,这些度量提供每个粒度步骤的开始和结束时间,这对于确定最慢的位非常有帮助。

在应用程序启动指标期间,捕获整个启动过程的过程分为多个步骤,这些步骤由StartupStep接口表示。每个步骤都有一个唯一的ID,即步骤名称,父ID。同样,这些实现记录步骤的开始和结束时间。使用它们,我们可以发现哪一步比预期的慢。

https://codingdict.com/blog/1382

springboot CronTask不执行 springboot onstartup,springboot CronTask不执行 springboot onstartup_spring_02,第2张



https://www.xamrdz.com/backend/3yb1961981.html

相关文章: