我們正在從休眠3.2.1升級到3.5.6並帶來Ehcache 2.3。這似乎是更新在某些時候,我們碰到Hibernate + Ehcache更新中斷測試套件
Caused by: java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Thread.java:597)
at java.util.Timer.<init>(Timer.java:154)
at net.sf.ehcache.util.FailSafeTimer.<init>(FailSafeTimer.java:52)
at net.sf.ehcache.CacheManager.init(CacheManager.java:334)
at net.sf.ehcache.CacheManager.<init>(CacheManager.java:281)
at org.hibernate.cache.EhCacheProvider.start(EhCacheProvider.java:131)
at org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge.start(RegionFactoryCacheProviderBridge.java:72)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:250)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1385)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:954)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:814)
打破我們完整的測試套件(10k左右的測試),在那有什麼明顯的,我在這裏失蹤?我認爲hiberante會處理任何必需的ehcache關閉以擺脫舊線程?
「?有什麼明顯我是缺少在這裏我想會的Hiberante處理任何需要的Ehcache停機擺脫舊的線程」 - 你可以測試一下:如果你運行一個失敗的測試,並且再次失敗,那麼它就是另一個問題。 – Ralph 2010-12-17 11:06:06
hmm。在本地運行測試套件(我們的構建系統不是最好的),我看到越來越多的CacheManager實例(已經有大約45個)。全部處於狀態TIMED_WAITING。有趣。 – seminolas 2010-12-17 11:34:17