我的J2EE应用程序没有正确实现注销,我的目的是在用户注销后关闭所有数据库资源。不确定session.invalidate();真的会有所帮助,今天我会试试。请建议实施注销的最佳方法,以便在用户注销后释放所有有价值的资源。
答案 0 :(得分:1)
我打算在用户注销后关闭所有数据库资源
这已经是一种不良做法的迹象。 DB资源应该在尽可能短的范围内(即在同一个方法块内)获取和。您可能永远不会将数据库资源(Connection
,Statement
和/或ResultSet
)作为静态或实例变量。这是收到资源泄漏和更严重的麻烦。
如果最初的目的是提高连接性能,则需要引入连接池。请记住,这不是保持连接打开自己的借口。只需以相同的方式尽快获取并关闭它们,连接池实现本身就会担心实际关闭连接或将其释放回池中。这一切都完全透明。体面的应用程序服务器附带了JNDI数据源的连接池功能。利用它。完成后,您无需担心任何开放的数据库资源或性能。
答案 1 :(得分:0)
请按
进行