1. 程式人生 > >Spring Destroying singletons ... root of factory hierarchy 問題【已解決】

Spring Destroying singletons ... root of factory hierarchy 問題【已解決】

問題

Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@13d740f: 
defining beans [dataSource,sessionFactory,dccDAO,groupueDAO,groupbasDAO,olcsDAO,hibernateTemplate,dccService,
groupueService,groupbasService,olcsService]; root of factory hierarchy

問題描述

我遇到該問題的原因在公司的Eclipse專案移到IDEA上面時候報的這個錯,雖然Eclipse用著也還好,但是更習慣用IDEA,這裡就不對編輯器做過的內容了.

然後我再Eclipse上面執行沒有什麼問題,但是放在IDEA上面跑就行,最早的時候就去google百度了一圈.結果寥寥草草,因為這種情況也不是很常見的問題,所以無果.草草了事.

今天有空,就又回去看了一下這個問題,大致排查過程如下.

註釋掉了所有的其他spring-…xml檔案,只加載了一個spring application context,然後執行起來之後終於能夠看到錯誤了,就逐個在去載入spring-…xml,直到多載入一個就出現這個錯誤的時候開始了問題分析.

分析過程略

分析結果:

JVM記憶體的鍋,設定了虛擬機器引數,完美解決

-Xms2048M -Xmx2048M -XX:PermSize=256M -XX:MaxPermSize=512M

其實最開始的時候想到了是虛擬機器記憶體大小的問題,但是當時只設置了堆記憶體,並沒有設定方法區的記憶體大小,知道我多載入一個配置檔案就報錯,才考慮到這個地方,而且已經打印出來了報錯資訊

java.lang.OutOfMemoryError: PermGen space

看見這個錯誤開心的不得了. 至此問題完美解決.