0

我正在使用 j2ee 创建 Web 服务。此网络服务正在访问数据库以插入/更新数据。我们正在使用连接驱动程序来建立与数据库的连接。当我们启动这个 Web 服务并对其进行测试时,我们遇到了内存泄漏问题,因此事务失败了。以下是我们得到的错误信息:

“查询处理期间内存分配失败”

当我们重新启动 weblogic 服务器时,此问题已解决。此静态连接对象仅由 EJB 用于处理 DB 事务。

这个单一的静态连接对象会造成内存泄漏问题并导致事务失败吗?

注意:请不要建议关闭连接,因为我们在整个交易过程中都需要它。

4

1 回答 1

0
  1. 您应该始终从服务器上配置的连接池(数据源)中检索连接(使用 jndi)
  2. 你永远不应该让你的 Connection 对象保持静态
  3. 您应该始终在 finally 块中关闭()您的连接。(当您从数据源检索连接并调用 close() 时,您只需告诉池您已完成连接。您实际上并没有关闭它。

做这些,你应该没事。

于 2009-07-15T08:04:34.320 回答