系統jvm的stack空間占滿了,爆出了stackOverflow異常,修改-Xss512k 參數來解決


此bug的最大難題是,在debug啟動時就沒有問題了,在正常啟動時就報錯。
有些人有這個問題,有些同學運行就沒有這個問題。
這可麻煩了。
朋友們以后可以以此為特征,診斷類似的問題。
 
**Spring Mybatis 集成錯誤:**
Exception in thread "main" java.lang.**NoClassDefFoundError**: Could not initialize class org.springframework.beans.factory.BeanCreationException
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
 
**問題分析:**
**NoClassDefFoundError** ,意思是缺少了類。
Could not initialize class org.springframework.beans.factory.BeanCreationException ,更表明是缺少了類。
 
**解決方法: **
於是分析代碼和配置,自動的手動的,都檢查了。
還是找不到問題。
 
**最終解決:**
沒有辦法,只好動用了很多方法排查。
最終的問題是,mybatis-spring這個包有提示:bug。
<groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.0.0-RC2</version>
其攔截了exception但是提示並不友好。
 
但根本問題是,系統jvm的stack空間占滿了,爆出了stackOverflow異常。
只好修改Stack Space的大小:啟動參數加入:-Xss512k 參數來解決。
 
**教訓:**
捕獲異常,是非常危險的,如果不能處理的更好的話,拋出異常更好。
 
參考:
網上也有很多朋友有類似的問題,但通過其他方式解決了,可能不是同一個bug吧。
但本文還是解決了根本問題,而不是隨便修改,跳過問題(雖然也是上等武功)。
[http://blog.csdn.net/neveremind158/article/details/26608871Mybatis + Spring 時出錯 java.lang.NoClassDefFoundError](http://blog.csdn.net/neveremind158/article/details/26608871)
http://blog.163.com/huangfei_person/blog/static/58156675201242634522971/
Mybatis + Spring 時出錯 Context initialization failed java.lang.NoClassDefFoundError: Could not initialize class org.springframework.beans.factory.BeanCreationException


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM