spring 3.1:加载bean时内存不足。

时间:2012-06-14 21:15:20

标签: spring javabeans out-of-memory legacy-code

我有以下xml。 legacy:xml(因为它是externalize而无法更改)。                                                           

    <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)     org.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时我从未遇到过这个问题。

1 个答案:

答案 0 :(得分:0)

实际上我通过创建应用程序上下文静态来减少它。

所以创建一个实例

private static final applicationContext ctx并仅使用它一次。