Spring 为什么org.hibernate.impl.SessionFactoryImpl没有被垃圾收集?
我在tomcat服务器上部署了一个网站,该服务器很快就用完了可用的堆空间,然后崩溃了。当我进行堆转储时,我发现很多org.hibernate.impl.sessionfactorympl实例(准确地说是802实例)占用了大部分(如果不是全部的话)空间,保持活动大小为541mb,引用自org.apache.catalina.loader.WebappClassLoader->java.util.concurrent.ConcurrentHashMap$HashEntrySpring 为什么org.hibernate.impl.SessionFactoryImpl没有被垃圾收集?,spring,garbage-collection,heap,tomcat6,opencms,Spring,Garbage Collection,Heap,Tomcat6,Opencms,我在tomcat服务器上部署了一个网站,该服务器很快就用完了可用的堆空间,然后崩溃了。当我进行堆转储时,我发现很多org.hibernate.impl.sessionfactorympl实例(准确地说是802实例)占用了大部分(如果不是全部的话)空间,保持活动大小为541mb,引用自org.apache.catalina.loader.WebappClassLoader->java.util.concurrent.ConcurrentHashMap$HashEntry <bean id="
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="annotatedClasses">
<list><value>com.someobjects.SomeObject</value>
</list>
</property>
关于服务器
服务器由apache2使用proxypass代理tomcat 6
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="annotatedClasses">
<list><value>com.someobjects.SomeObject</value>
</list>
</property>
关于软件
我使用opencms来管理webapp的内容,因此所有的代码都是通过模板类调用的
使用springs HibernateTemplate访问Hibernate。数据源保存在tomcat中,通过org.springframework.jndi.JndiObjectFactoryBean访问,并注入到我的数据源org.apache.commons.dbcp.BasicDataSource中,会话工厂配置如下
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="annotatedClasses">
<list><value>com.someobjects.SomeObject</value>
</list>
</property>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="annotatedClasses">
<list><value>com.someobjects.SomeObject</value>
</list>
</property>
有人知道为什么org.hibernate.impl.SessionFactoryImpl没有被垃圾收集吗
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="annotatedClasses">
<list><value>com.someobjects.SomeObject</value>
</list>
</property>
我可以提供任何需要的进一步信息。。。我对这件事真是不知所措。非常感谢您的帮助。我希望您的应用程序上下文中只有一个会话工厂实例。如何加载spring应用程序上下文?
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="annotatedClasses">
<list><value>com.someobjects.SomeObject</value>
</list>
</property>