Commons Dbcp
  1. Commons Dbcp
  2. DBCP-180

[dbcp] Dbcp doesn't meet JDBC specification

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 1.2
    • Fix Version/s: 2.0
    • Labels:
      None
    • Environment:

      Operating System: other
      Platform: All

      Description

      The JDBC specification says for ResultSet and Statement that the ResultSet and
      Statement will be automatically closed when garbage collected.

      This means that people often write code like this

      Connection.getStatement().executeSQL("....");

      However, because the DelegateConnection/DelegateStatement/DelegateResultSet
      extend AbandonedTrace (and are linked into the abandoned trace mechanism) they
      will not be garbage collected until the connection is closed.

      This of course means that DBCP holds on to lots of memory that it shouldn't do
      (I've had people complain to me of memory leaks).

      Surely it's possible to make the DelegateXX hold onto something else which does
      the AbandonedTrace and so when it is released it can do the implicit close and
      then everything will be coool.

        Activity

        No work has yet been logged on this issue.

          People

          • Assignee:
            Unassigned
            Reporter:
            Rohan Lenard
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development