Java 休眠spring sigletons服务器关闭
我正在使用hibernate和spring框架,我的bean处于单例模式。我是否应该关闭会话,因为它们处于单例模式? 事实上,我们的服务器出现了一些问题,连接太多 我想这可能就是问题所在。谢谢 这是我的密码:Java 休眠spring sigletons服务器关闭,java,spring,hibernate,singleton,Java,Spring,Hibernate,Singleton,我正在使用hibernate和spring框架,我的bean处于单例模式。我是否应该关闭会话,因为它们处于单例模式? 事实上,我们的服务器出现了一些问题,连接太多 我想这可能就是问题所在。谢谢 这是我的密码: <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean" scope = "singleton" > <
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean" scope = "singleton" >
<property name="dataSource" ref local="dataSource" property/>
<property name="packagesToScan" >
<value>Model.Entity</value>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.auto_close_session">false</prop>
</props>
</property>
如果您配置spring和hibernate配置,则不需要关闭连接和会话,spring将为您完成这项工作。
查看此示例代码不应关闭服务器。我是否应该关闭会话?
@Autowired
private SessionFactory sessionFactory;
public SessionFactory getSessionFactory() {
return sessionFactory;
}
public void updateDB() {
Session session = getSessionFactory().openSession();
Transaction transaction = null;
try {
transaction = session.beginTransaction();
transaction.commit();
} catch (HibernateException e) {
transaction.rollback();
e.printStackTrace();
} finally {
session.close();
}
}