2011-06-22 137 views
0

嘗試加載SpringMVC應用程序時發生了一個非常奇怪的堆棧跟蹤,並且發生了這種情況。SpringMVC應用程序啓動時出現奇怪的錯誤

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter#0': Cannot create inner bean '(inner bean)' of type [org.springframework.http.converter.xml.XmlAwareFormHttpMessageConverter] while setting bean property 'messageConverters' with key [4]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#6': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.http.converter.xml.XmlAwareFormHttpMessageConverter]: Constructor threw exception; nested exception is java.lang.OutOfMemoryError: Java heap space 
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:281) 
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:125) 
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:353) 
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:153) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1325) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1086) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517) 
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) 
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) 
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190) 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580) 
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895) 
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425) 
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:442) 
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:458) 
at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:339) 
at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:306) 
at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:127) 
at javax.servlet.GenericServlet.init(GenericServlet.java:160) 
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1133) 
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1087) 
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:996) 
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4834) 
at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5155) 
at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5150) 
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 
at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
at java.lang.Thread.run(Thread.java:619) 

引起:org.springframework.beans.factory.BeanCreationException:錯誤創建具有名稱 '(內部bean)#6' 豆芽:黃的實例化失敗;嵌套異常是org.springframework.beans.BeanInstantiationException:無法實例化bean類[org.springframework.http.converter.xml.XmlAwareFormHttpMessageConverter]:構造函數拋出異常;嵌套異常是java.lang.OutOfMemoryError:Java堆空間 在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:965) 在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance( AbstractAutowireCapableBeanFactory.java:911) 在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485) 在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:270) ... 31更多 引起通過:org.springframework.beans.BeanInstantiationException:無法實例化bean類[org.springframework.http.converter.xml.XmlAwareFormHttpMessageConverter]:構造函數拋出異常;嵌套異常是java.lang.OutOfMemoryError:Java堆空間 at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:141) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java: 74) 在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:958) ...... 35多個

+0

發表你的Spring XML的configs。另外,打開GC日誌記錄併發布GC日誌,以便我們可以知道這是什麼類型的OOM。 – jtoberon

+0

@jtoberon - OOME異常*消息*表示它是一個常規的「Java堆空間」OOME;即增加堆空間並再試一次。 –

+0

GC日誌可能會告訴我們一些事情,例如是否已正確設置Xmx VM參數。 – jtoberon

回答

1

它的內存不足錯誤 - 你的JVM已用完的堆空間初始化該webapp。通常Spring會處理循環引用,但粘貼您的bean配置XML也會有所幫助 - 例如您正在使用的範圍,自動裝配與否等。

您可能想要使用-Xmx VM參數來增加堆大小。

+0

根據我的其他評論,這隻有在通過eclipse進行部署時纔會發生。 –

+0

請使用以下鏈接來增加Eclipse的堆空間:http://wiki.eclipse.org/FAQ_How_do_I_increase_the_heap_size_available_to_Eclipse%3F – lobster1234

0

看起來你有隻是一直試圖連線,直到它耗盡你的JVM週期性的參考,你需要來發表您的春季檔以獲得更多幫助

+0

如果Sprint由於循環引用而陷入了結,那麼您很可能會得到一個'StackOverflowError'(不是TM :-))。 –

相關問題