【问题标题】:Slow Application Startup Time After Upgrade to Spring Boot 2.2.2升级到 Spring Boot 2.2.2 后应用程序启动缓慢
【发布时间】:2020-04-14 23:54:50
【问题描述】:

我将我的应用程序升级到 Spring Boot 2.2.2,现在启动时间在 30 秒范围内。

:: Built with Spring Boot :: 2.2.2.RELEASE
2019-12-23 10:38:06.822  INFO 4669 --- [  restartedMain] c.d.l.i.r.IdeaSubmissionRestApplication  : Starting IdeaSubmissionRestApplication on wsm-93.local with PID 4669 (/Users/mhast/Developer/sts_workspaces_4_4_1/dss/ldrd_s/IdeaSubmissionRest/target/classes started by mhast in /Users/mhast/Developer/sts_workspaces_4_4_1/dss/ldrd_s/IdeaSubmissionRest)
2019-12-23 10:38:06.826  INFO 4669 --- [  restartedMain] c.d.l.i.r.IdeaSubmissionRestApplication  : The following profiles are active: dev
...
2019-12-23 10:38:08.440  INFO 4669 --- [  restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8320 (http)
2019-12-23 10:38:08.447  INFO 4669 --- [  restartedMain] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2019-12-23 10:38:08.448  INFO 4669 --- [  restartedMain] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.29]
2019-12-23 10:38:08.512  INFO 4669 --- [  restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2019-12-23 10:38:08.512  INFO 4669 --- [  restartedMain] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 1530 ms
2019-12-23 10:38:08.678  INFO 4669 --- [  restartedMain] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2019-12-23 10:38:09.189  INFO 4669 --- [  restartedMain] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
2019-12-23 10:38:09.234  INFO 4669 --- [  restartedMain] o.hibernate.jpa.internal.util.LogHelper  : HHH000204: Processing PersistenceUnitInfo [name: default]
2019-12-23 10:38:09.285  INFO 4669 --- [  restartedMain] org.hibernate.Version                    : HHH000412: Hibernate Core {5.4.9.Final}
2019-12-23 10:38:09.370  INFO 4669 --- [  restartedMain] o.hibernate.annotations.common.Version   : HCANN000001: Hibernate Commons Annotations {5.1.0.Final}
2019-12-23 10:38:09.456  INFO 4669 --- [  restartedMain] org.hibernate.dialect.Dialect            : HHH000400: Using dialect: org.hibernate.dialect.Oracle10gDialect
2019-12-23 10:38:37.903  INFO 4669 --- [  restartedMain] org.hibernate.tuple.PojoInstantiator     : HHH000182: No default (no-argument) constructor for class: com.desertsky.ldrd.model.entities.FrsFactTableViewId (class must be instantiated by Interceptor)
2019-12-23 10:38:39.038  INFO 4669 --- [  restartedMain] o.h.e.t.j.p.i.JtaPlatformInitiator       : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
2019-12-23 10:38:39.043  INFO 4669 --- [  restartedMain] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2019-12-23 10:38:40.109  WARN 4669 --- [  restartedMain] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning

从 10:38:09.456 开始加载 Oracle10gDialect,下一个日志是 28 秒后。

2019-12-23 10:38:09.456  INFO 4669 --- [  restartedMain] org.hibernate.dialect.Dialect            : HHH000400: Using dialect: org.hibernate.dialect.Oracle10gDialect
2019-12-23 10:38:37.903  INFO 4669 --- [  restartedMain] org.hibernate.tuple.PojoInstantiator     : HHH000182: No default (no-argument) constructor for class: com.desertsky.ldrd.model.entities.FrsFactTableViewId (class must be instantiated by Interceptor)

有人知道为什么在升级到 Spring Boot 2.2.2 后,方言加载如此缓慢吗?

【问题讨论】:

    标签: spring-boot


    【解决方案1】:

    我在这篇文章中找到了答案。

    Very slow Spring Boot application startup

    我将此属性添加到我的 application.properties 文件中,我又回到了快速的应用程序启动状态。

    spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults=false
    

    JBoss Hibernate 文档说:

    This setting is used to control whether we should consult the JDBC metadata to determine certain Settings default values when the database may not be available (mainly in tools usage).
    

    【讨论】:

      猜你喜欢
      • 2020-09-15
      • 2011-01-06
      • 2018-10-31
      • 2022-01-23
      • 1970-01-01
      • 2017-01-14
      • 1970-01-01
      • 1970-01-01
      • 2016-12-08
      相关资源
      最近更新 更多