Запуск весны при загрузке Сборка контейнера JPA очень медленная - PullRequest
0 голосов
/ 26 сентября 2018

Я использую Spring Boot с JPA, и недавно его запуск занял много времени.Эта строка в консоли всегда застревает примерно на 5 минут:

Building JPA container EntityManagerFactory for persistence unit 'default'

Я видел этот пост:
Очень медленный запуск приложения Spring Boot
ИЯ пытался добавить spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults = false в мои application.properties
Но это не имело никакого значения.

Есть ли способ отладить, что на самом деле делает весенняя загрузка в это время?Мои зависимости gradle следующие:

compile('org.springframework.boot:spring-boot-starter-data-jpa')
compile('org.springframework.boot:spring-boot-starter-web')
compile('org.springframework.boot:spring-boot-starter-security')
compile('org.springframework.boot:spring-boot-starter-tomcat')
compile('org.springframework.boot:spring-boot-starter-data-redis')
compile('org.springframework.boot:spring-boot-starter-mail')
compile('org.springframework.session:spring-session:1.3.1.RELEASE')
compile('mysql:mysql-connector-java')
compile('org.apache.commons:commons-lang3:3.7')
compile('com.google.cloud:google-cloud-storage:1.14.0')
compile('javaxt:javaxt-core:1.8.1')
compile('org.hibernate:hibernate-envers:5.0.12.Final')
testCompile('org.springframework.boot:spring-boot-starter-test')

И я использую версию Spring Boot 1.5.9.RELEASE

My application.properties имеет это:

spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://notreal.server.com:3306/testdb
spring.datasource.username=NotRealUser
spring.datasource.password=NotRealPwd
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults=false

Любые предложения / помощь высоко ценится.

1 Ответ

0 голосов
/ 17 февраля 2019

Мне удалось исправить проблему, установив spring.jpa.hibernate.ddl-auto=none в моем application.properties (ранее установленном на auto).

Я думаю, что это мешает Hibernate сравнивать объектные модели с таблицами в базе данных.Запуск Springboot был намного быстрее после этого.

Я должен упомянуть, что примерно тогда мы также добавили Hibernate Envers (среда аудита) в проект, который сгенерировал кучу новых таблиц в базе данных.Так что это, вероятно, усугубило проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...