code: protected void releaseConnection() {
      // Release the connection through the ManagedConnection instead of the
      // ConnectionManager directly.  This lets the connection control how
      // it is released.
      try {
        managedConn.releaseConnection();
      } catch(IOException ignored) {
        this.log.debug("IOException releasing connection", ignored);
      }
      managedConn = null;
    }
docs: Returns the connection back to the connection manager
  and prepares for retrieving a new connection during
  the next request.