Uploaded image for project: 'Commons DBCP'
  1. Commons DBCP
  2. DBCP-156

[dbcp] Specifying the maximum lifetime of a connection

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 1.1
    • 2.0
    • None
    • Operating System: All
      Platform: All

    • 28211

    Description

      It would be excellent if BasicDataSource had a "maxLifetime" property, for
      specifying the maximum lifetime of a connection in the pool, no matter how long
      it's been active or idle, and no matter whether it still seems to be alive.
      Commons DBCP does not support this yet; it just offers various connection
      validation means, which is not the same.

      This is particularly relevant for MySQL Connector/J 3.0.x which tries to apply
      some weird automatic recovery when a MySQL connection has timed out, resulting
      in all sorts of issues. The best way to deal with this is to set the maximum
      lifetime of a connection to 4 hours or the like: If it's older, simply kill it,
      even if it's still alive at that point of time.

      Note that Proxool (http://proxool.sourceforge.net) does have such a property,
      namely "maximum-connection-lifetime". Resin's connection pool has a similar
      property named "max-pool-time" (http://www.caucho.com/resin-2.1/ref/db-
      config.xtp). I tend to prefer Commons DBCP, but the lack of such a property
      forces me to look for alternative pools.

      Juergen

      Attachments

        Activity

          People

            Unassigned Unassigned
            juergen.hoeller@werk3at.com Juergen Hoeller
            Votes:
            4 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: