静态连接对象问题

时间:2009-07-09 05:30:38

标签: java-ee weblogic ejb

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

  

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

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

这个单一的静态连接对象是否会产生内存泄漏问题并导致事务失败?

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

1 个答案:

答案 0 :(得分:0)

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