这几天做了个多文件上传,看了一整天都检查前台的js错误,以为前台ext脚本问题。后来发现是后台问题。
Session session = getSession();
list = session.createQuery(hql).list();
这里没有当时我用了session.close();以为关闭了session,但是后来网上说没有关闭资源,然后用
releaseSession(session); //释放session,这样才好了,服务器正常了。真是个大问题。
也可以换成getHibernateTemplate().find(hql)
getSession()在一个线程里如果执行多次的话,会产生多个连接,同时也不会及时释放。
源码中releaseSession(session)方法中也会调用session.close()方法
releaseSession(session)是Spring对session操作进行的包装,而session.close()是Hibernate本身的实现。
本文探讨了在多文件上传场景下,如何通过正确管理Session来避免资源泄露,优化服务器性能。通过对比session.close()与releaseSession(session)方法的作用,强调了在使用Spring框架时确保Session资源正确释放的重要性。
2319

被折叠的 条评论
为什么被折叠?



