2017-05-24 28 views
1

期間掛起這是JPA/Hibernate hangs on production during EntityManagerFactory creationJPA /休眠的本地文件系統操作引導

我已經得到了一個線程轉儲後隨期間「掛起」狀態,我發現這個問題是文件系統掛牌操作相關。

一般來說,這個過程可以在應用程序引導過程中掛起幾分鐘(~30分鐘)。任何walkawrounds或修復此?

"main" #1 prio=5 os_prio=0 tid=0x00000000010c9000 nid=0x2c73 runnable [0x00007f4c928f5000] 
    java.lang.Thread.State: RUNNABLE 
    at java.io.UnixFileSystem.list(Native Method) 
    at java.io.File.list(File.java:1122) 
    at java.io.File.listFiles(File.java:1207) 
    at org.hibernate.boot.archive.internal.ExplodedArchiveDescriptor.processDirectory(ExplodedArchiveDescriptor.java:105) 
    at org.hibernate.boot.archive.internal.ExplodedArchiveDescriptor.processDirectory(ExplodedArchiveDescriptor.java:118) 
    at org.hibernate.boot.archive.internal.ExplodedArchiveDescriptor.visitArchive(ExplodedArchiveDescriptor.java:54) 
    at org.hibernate.boot.archive.scan.spi.AbstractScannerImpl.scan(AbstractScannerImpl.java:47) 
    at org.hibernate.boot.model.process.internal.ScanningCoordinator.coordinateScan(ScanningCoordinator.java:75) 
    at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.prepare(MetadataBuildingProcess.java:98) 
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:227) 
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:169) 
    at org.hibernate.jpa.boot.spi.Bootstrap.getEntityManagerFactoryBuilder(Bootstrap.java:36) 
    at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilder(HibernatePersistenceProvider.java:181) 
    at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:129) 
    at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:71) 
    at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:52) 
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55) 
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:39) 
+0

如果您包含更多信息,它可能會幫助人們幫助您。這是發生在工作站/ VM/Docker上嗎?文件系統有什麼特殊之處(例如NFS)?任何SE Linux擴展?還有什麼可能是「奇怪的」,你可以想到的? Java版本/ Linux發行版?我正在Linux上進行日常開發(使用Java,Hibernate),這種情況不會發生,但在極少數情況下會發生其他奇怪的事情! –

+0

我有類似的堆棧跟蹤類似的問題,但我看到堆棧跟蹤以及一個OutOfMemoryError。相同的應用程序部署在jar文件中,而不是文件系統上的.class文件,沒有問題。但是在我的開發服務器上,我直接部署.class文件,我看到OOME。 @Antoniossss在此期間你有沒有進一步瞭解這一點? – marc82ch

+0

@ marc82ch不幸現在我不記得了,現在我已經搬到了不同的項目中;( – Antoniossss

回答

0

對於我和marc82ch來說,問題是應用程序類路徑上的文件(外部)的枚舉計數。例如,在我的情況下,我有包含大量文件的classpath中的日誌文件目錄。