java - 20多分钟就开始Spring应用了。如何减少呢?

标签 java spring hibernate tomcat7

我正在维护一个旧的 Spring 项目,它的启动时间很长。该应用程序在 Tomcat 7 下运行并使用 Hibernate 4.3 + PostgreSQL 9.5。 This is在应用程序启动时写入的 IntelliJ IDEA 日志(由于 SO 帖子长度限制而上传到 Pastebin)。请注意从底部数第 3 行和第 2 行之间的时间间隙。那段时间似乎什么也没有发生。我已尝试将所有日志级别设置为 TRACE 但仍然没有看到任何其他要记录的输出。问题是如何减少启动时间?这是我已经尝试过的事情:

  • 在主上下文配置文件上设置default-lazy-init=true
  • 在持久性配置上将 hibernate.hbm2ddl.auto 设置为 none
  • 在持久性配置上将 hibernate.temp.use_jdbc_metadata_defaults 设置为 false

他们都没有产生任何可衡量的结果。我还能尝试什么?至少我怎样才能理解这段时间发生的事情?

最佳答案

我建议您将应用程序的.war文件复制到webapps文件夹中,并让tomcat进行部署,这样更快并且节省您的时间。
Tomcat 支持热部署。 Tomcat 监视部署目录的更改,因此您只需将 .war 文件复制到该目录中,服务器就会取消部署/重新部署

您可以使用 ANT 编写脚本来自动执行部署过程。

关于java - 20多分钟就开始Spring应用了。如何减少呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40020176/

相关文章:

java - 具有空字段的 JSON 对象

java - Apache 速度 : Escape character not working

java - 从 Android 保存图像文件

java - Spring 可以在 finally block 中提交事务,并在 try block 中使用 RunTimeException

java - 在 Java 中过度使用 get() 是否效率低下?

java - Spring数据查询实例

java - Spring JpaRepository - 分离和附加实体

mysql - Web 应用程序无法从服务器上的 MySQL 查询

java - JPA开始出现事务瓶颈

hibernate - @Transaction 问题 : TransactionSynchronization. beforeCompletion 抛出异常