2012-06-14 73 views
0

我有以下的XML。 legacy:xml(因外部化而無法更改)。 spring 3.1:加載bean時內存不足。

<bean id="oracleLobHandler" class="org.springframework.jdbc.support.lob.OracleLobHandler" lazy-init="true"> 
     <property name="nativeJdbcExtractor" ref="dbcpJdbcExtractor"/> 
    </bean> 

    <!-- LobHandler for well-behaved JDBC drivers --> 
    <!-- (simply delegating to corresponding PreparedStatement and ResultSet methods) --> 
    <bean id="defaultLobHandler" class="org.springframework.jdbc.support.lob.DefaultLobHandler" lazy-init="true"/> 

    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> 
     <property name="dataSource" ref="defaultDataSource"/> 
    </bean> 

    <bean id="dbcpJdbcExtractor" class="org.springframework.jdbc.support.nativejdbc.CommonsDbcpNativeJdbcExtractor" 
      lazy-init="true"/> 
</beans> 

違規代碼:

BeanFactory getBeanFactory() { 
    new XmlBeanFactory(new ClassPathResource("/META-INF/beans.xml")); 
} 

日誌: org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:68) 有機springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85) org.springframework。 beans.factory.parsing.ReaderContext.error(ReaderContext.java:76) org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.importBeanDefinitionResource(DefaultBeanDefinitionDocumentReader.java:245) org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader。 parseDefaultElement(DefaultBeanDefinitionDocumentReader.java:196)

有什麼不對?順便說一句,我從來沒有使用彈簧1.2的問題。

+2

異常堆棧跟蹤未顯示實際的內存不足錯誤。你可以發佈這一堆棧跟蹤,所以我們現在是否它是燙髮,過度GC,堆...... –

回答

0

實際上,我通過創建應用程序上下文靜態來減少它。

所以創建一個實例

私有靜態最後的applicationContext CTX和使用它只有一次。