繁体   English   中英

Hibernate有时花费太长时间才能获得JDBC连接

[英]Hibernate sometimes takes far too long to obtain JDBC connection

在Mule应用程序中,大多数情况下我们已经非常成功地使用了Hibernate。 但是,有时我们发现从应用程序写入数据库需要花费几分钟,因此我们需要找出原因。

这是这种情况下的Spring和Hibernate日志。

[2018-10-18 05:20:42.156] DEBUG   org.springframework.security.authentication.ProviderManager [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: Authentication attempt using org.springframework.security.authentication.dao.DaoAuthenticationProvider
[2018-10-18 05:20:42.160] DEBUG   org.springframework.beans.CachedIntrospectionResults [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: Not strongly caching class [com.company.mule.core.component.SynchronouslySaveOrUpdateImportStatusDtoComponent] because it is not cache-safe
[2018-10-18 05:20:42.160] DEBUG   org.springframework.orm.jpa.JpaTransactionManager [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: Creating new transaction with name [com.company.service.ImportStatusService.saveOrMerge]: PROPAGATION_REQUIRES_NEW,ISOLATION_DEFAULT,timeout_15; ''
[2018-10-18 05:20:42.160] DEBUG   org.springframework.orm.jpa.JpaTransactionManager [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: Opened new EntityManager [org.hibernate.jpa.internal.EntityManagerImpl@50302b40] for JPA transaction
[2018-10-18 05:20:42.160] DEBUG   org.hibernate.engine.transaction.spi.AbstractTransactionImpl [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: begin
[2018-10-18 05:20:42.160] DEBUG   org.hibernate.engine.jdbc.internal.LogicalConnectionImpl [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: Obtaining JDBC connection
.
.
.
[2018-10-18 05:54:07.470] DEBUG   org.hibernate.engine.jdbc.internal.LogicalConnectionImpl [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: Obtained JDBC connection
[2018-10-18 05:54:07.470] DEBUG   org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: initial autocommit status: true
[2018-10-18 05:54:07.470] DEBUG   org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: disabling autocommit
[2018-10-18 05:54:07.567] DEBUG   org.springframework.orm.jpa.JpaTransactionManager [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: Exposing JPA transaction as JDBC transaction [org.springframework.orm.jpa.vendor.HibernateJpaDialect$HibernateConnectionHandle@2bbdca69]
[2018-10-18 05:54:07.568] DEBUG   org.springframework.orm.jpa.JpaTransactionManager [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: Found thread-bound EntityManager [org.hibernate.jpa.internal.EntityManagerImpl@50302b40] for JPA transaction
[2018-10-18 05:54:07.568] DEBUG   org.springframework.orm.jpa.JpaTransactionManager [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: Participating in existing transaction
[2018-10-18 05:54:07.568] DEBUG   org.hibernate.SQL [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: select this_.ID as ID1_6_1_, this_.CREATED_DATE as CREATED_2_6_1_, this_.MODIFIED_DATE as MODIFIED3_6_1_, this_.UUID as UUID4_6_1_, this_.VERSION as VERSION5_6_1_, this_.import_frequency as import_f6_6_1_, this_.import_type_id as import_t8_6_1_, this_.TENANT_ID as TENANT_I7_6_1_, type1_.ID as ID1_5_0_, type1_.CREATED_DATE as CREATED_2_5_0_, type1_.MODIFIED_DATE as MODIFIED3_5_0_, type1_.UUID as UUID4_5_0_, type1_.VERSION as VERSION5_5_0_, type1_.CODE as CODE6_5_0_, type1_.NAME as NAME7_5_0_ from import_type_detail this_ inner join import_type type1_ on this_.import_type_id=type1_.ID where type1_.CODE=? and this_.TENANT_ID=?
[2018-10-18 05:54:07.568] INFO    std-out [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: Hibernate: select this_.ID as ID1_6_1_, this_.CREATED_DATE as CREATED_2_6_1_, this_.MODIFIED_DATE as MODIFIED3_6_1_, this_.UUID as UUID4_6_1_, this_.VERSION as VERSION5_6_1_, this_.import_frequency as import_f6_6_1_, this_.import_type_id as import_t8_6_1_, this_.TENANT_ID as TENANT_I7_6_1_, type1_.ID as ID1_5_0_, type1_.CREATED_DATE as CREATED_2_5_0_, type1_.MODIFIED_DATE as MODIFIED3_5_0_, type1_.UUID as UUID4_5_0_, type1_.VERSION as VERSION5_5_0_, type1_.CODE as CODE6_5_0_, type1_.NAME as NAME7_5_0_ from import_type_detail this_ inner join import_type type1_ on this_.import_type_id=type1_.ID where type1_.CODE=? and this_.TENANT_ID=?
[2018-10-18 05:54:07.671] DEBUG   org.hibernate.loader.Loader [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: Result row: EntityKey[com.company.domain.ImportType#53], EntityKey[com.company.domain.ImportTypeDetail#71]
[2018-10-18 05:54:07.671] DEBUG   org.hibernate.engine.internal.TwoPhaseLoad [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: Resolving associations for [com.company.domain.ImportType#53]
[2018-10-18 05:54:07.671] DEBUG   org.hibernate.engine.internal.TwoPhaseLoad [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: Done materializing entity [com.company.domain.ImportType#53]
[2018-10-18 05:54:07.671] DEBUG   org.hibernate.engine.internal.TwoPhaseLoad [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: Resolving associations for [com.company.domain.ImportTypeDetail#71]
[2018-10-18 05:54:07.671] DEBUG   org.hibernate.engine.internal.TwoPhaseLoad [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: Done materializing entity [com.company.domain.ImportTypeDetail#71]
[2018-10-18 05:54:07.768] DEBUG   org.hibernate.stat.internal.ConcurrentStatisticsImpl [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: HHH000117: HQL: [CRITERIA] select this_.ID as ID1_6_1_, this_.CREATED_DATE as CREATED_2_6_1_, this_.MODIFIED_DATE as MODIFIED3_6_1_, this_.UUID as UUID4_6_1_, this_.VERSION as VERSION5_6_1_, this_.import_frequency as import_f6_6_1_, this_.import_type_id as import_t8_6_1_, this_.TENANT_ID as TENANT_I7_6_1_, type1_.ID as ID1_5_0_, type1_.CREATED_DATE as CREATED_2_5_0_, type1_.MODIFIED_DATE as MODIFIED3_5_0_, type1_.UUID as UUID4_5_0_, type1_.VERSION as VERSION5_5_0_, type1_.CODE as CODE6_5_0_, type1_.NAME as NAME7_5_0_ from import_type_detail this_ inner join import_type type1_ on this_.import_type_id=type1_.ID where type1_.CODE=? and this_.TENANT_ID=?, time: 200ms, rows: 1
[2018-10-18 05:54:07.768] DEBUG   org.hibernate.engine.spi.ActionQueue [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: Executing identity-insert immediately
[2018-10-18 05:54:07.768] DEBUG   org.hibernate.SQL [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: insert into import_status (CREATED_DATE, MODIFIED_DATE, UUID, VERSION, ASSOCIATED_DATA, ELAPSED_TIME, ERROR_MODEL_COUNT, HASH, IMPORT_DATE, IMPORT_NAME, IMPORT_PROGRESS, IMPORT_TYPE_DETAILS_ID, PROCESSED_MODEL_COUNT, TENANT_ID, TOTAL_MODEL_COUNT) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
[2018-10-18 05:54:07.769] INFO    std-out [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: Hibernate: insert into import_status (CREATED_DATE, MODIFIED_DATE, UUID, VERSION, ASSOCIATED_DATA, ELAPSED_TIME, ERROR_MODEL_COUNT, HASH, IMPORT_DATE, IMPORT_NAME, IMPORT_PROGRESS, IMPORT_TYPE_DETAILS_ID, PROCESSED_MODEL_COUNT, TENANT_ID, TOTAL_MODEL_COUNT) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
[2018-10-18 05:54:07.867] DEBUG   org.hibernate.id.IdentifierGeneratorHelper [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: Natively generated identity: 8957
[2018-10-18 05:54:07.968] DEBUG   org.hibernate.cache.ehcache.internal.regions.EhcacheGeneralDataRegion [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: key: import_status value: 6307193274236928
[2018-10-18 05:54:07.968] DEBUG   org.hibernate.event.internal.AbstractFlushingEventListener [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: Processing flush-time cascades
[2018-10-18 05:54:07.968] DEBUG   org.hibernate.event.internal.AbstractFlushingEventListener [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: Dirty checking collections
[2018-10-18 05:54:07.968] DEBUG   org.hibernate.engine.internal.Collections [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: Collection found: [com.company.domain.ImportStatus.importErrors#8957], was: [<unreferenced>] (initialized)
[2018-10-18 05:54:07.968] DEBUG   org.hibernate.event.internal.AbstractFlushingEventListener [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: Flushed: 0 insertions, 0 updates, 0 deletions to 3 objects
[2018-10-18 05:54:07.968] DEBUG   org.hibernate.event.internal.AbstractFlushingEventListener [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: Flushed: 1 (re)creations, 0 updates, 0 removals to 1 collections
[2018-10-18 05:54:07.968] DEBUG   org.hibernate.internal.util.EntityPrinter [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: Listing entities:
[2018-10-18 05:54:07.968] DEBUG   org.hibernate.internal.util.EntityPrinter [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: com.company.domain.ImportType{createdDate=2018-03-15 14:05:00.0, code=DISPATCH_REPORT, modifiedDate=null, name=Dispatch Report, id=53, uuid=24983801440501787, version=0}
[2018-10-18 05:54:07.968] DEBUG   org.hibernate.internal.util.EntityPrinter [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: com.company.domain.ImportStatus{associatedData=null, errorModelCount=0, uuid=8A897AAE6682E06E016685BCFE5022B5, version=0, importErrors=[], createdDate=Thu Oct 18 05:54:07 UTC 2018, associatedDataLatestId=null, totalModelCount=0, importDate=2018-10-18 05:20:42.009, modifiedDate=null, tenantId=202, importName=DISPATCH_REPORT, id=8957, associatedDataSourceSystem=null, importProgress=NOT_STARTED, processedModelCount=0, hash=null, importTypeDetail=com.company.domain.ImportTypeDetail#71, elapsedTime=0.0}
[2018-10-18 05:54:07.968] DEBUG   org.hibernate.internal.util.EntityPrinter [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: com.company.domain.ImportTypeDetail{importType=com.company.domain.ImportType#53, createdDate=2018-03-15 14:05:00.0, modifiedDate=null, tenantId=202, id=71, importFrequency=DAILY, uuid=24983801440501788, version=0}
[2018-10-18 05:54:07.968] DEBUG   org.hibernate.cache.ehcache.internal.regions.EhcacheGeneralDataRegion [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: key: import_error value: 6307193274236929
[2018-10-18 05:54:07.968] DEBUG   org.springframework.orm.jpa.JpaTransactionManager [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: Initiating transaction commit
[2018-10-18 05:54:07.969] DEBUG   org.springframework.orm.jpa.JpaTransactionManager [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: Committing JPA transaction on EntityManager [org.hibernate.jpa.internal.EntityManagerImpl@50302b40]
[2018-10-18 05:54:07.969] DEBUG   org.hibernate.engine.transaction.spi.AbstractTransactionImpl [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: committing
[2018-10-18 05:54:08.068] DEBUG   org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: committed JDBC Connection
[2018-10-18 05:54:08.068] DEBUG   org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: re-enabling autocommit
[2018-10-18 05:54:08.165] DEBUG   org.hibernate.cache.ehcache.internal.regions.EhcacheGeneralDataRegion [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: key: import_status value: 6307193029283840
[2018-10-18 05:54:08.165] DEBUG   org.hibernate.cache.ehcache.internal.regions.EhcacheGeneralDataRegion [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: key: import_error value: 6307193029283840
[2018-10-18 05:54:08.165] DEBUG   org.springframework.orm.jpa.JpaTransactionManager [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: Closing JPA EntityManager [org.hibernate.jpa.internal.EntityManagerImpl@50302b40] after transaction
[2018-10-18 05:54:08.165] DEBUG   org.springframework.orm.jpa.EntityManagerFactoryUtils [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: Closing JPA EntityManager
[2018-10-18 05:54:08.165] INFO    org.hibernate.engine.internal.StatisticalLoggingSessionEventListener [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: Session Metrics {
    2005309943402 nanoseconds spent acquiring 1 JDBC connections;
    0 nanoseconds spent releasing 0 JDBC connections;
    385901 nanoseconds spent preparing 2 JDBC statements;
    199318868 nanoseconds spent executing 2 JDBC statements;
    0 nanoseconds spent executing 0 JDBC batches;
    725792 nanoseconds spent performing 4 L2C puts;
    0 nanoseconds spent performing 0 L2C hits;
    0 nanoseconds spent performing 0 L2C misses;
    417472 nanoseconds spent executing 1 flushes (flushing a total of 3 entities and 1 collections);
    2444 nanoseconds spent executing 1 partial-flushes (flushing a total of 0 entities and 0 collections)
[2018-10-18 05:54:08.165] DEBUG   org.hibernate.engine.jdbc.internal.LogicalConnectionImpl [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: Releasing JDBC connection
[2018-10-18 05:54:08.166] DEBUG   org.hibernate.engine.jdbc.internal.LogicalConnectionImpl [[prd-globe-import-acmeap].HTTP_Message_Listener_Configuration.worker.57]: Released JDBC connection

对问题可能有什么想法?

在合理的时间后,是否至少有可能使它超时?

非常感谢,皮特

我将检查数据库日志以获取其他信息。 尝试写入时,数据库可能处于锁定状态,需要等待很长时间。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM