Class AbandonedTrace

java.lang.Object
org.apache.commons.dbcp2.AbandonedTrace
All Implemented Interfaces:
AutoCloseable, TrackedUse
Direct Known Subclasses:
DelegatingConnection, DelegatingResultSet, DelegatingStatement

public class AbandonedTrace extends Object implements TrackedUse, AutoCloseable
Tracks connection usage for recovering and reporting abandoned connections.

The JDBC Connection, Statement, and ResultSet classes extend this class.

Since:
2.0
  • Constructor Details

    • AbandonedTrace

      public AbandonedTrace()
      Creates a new AbandonedTrace without config and without doing abandoned tracing.
    • AbandonedTrace

      Constructs a new AbandonedTrace with a parent object.
      Parameters:
      parent - AbandonedTrace parent object.
  • Method Details

    • addTrace

      protected void addTrace(AbandonedTrace trace)
      Adds an object to the list of objects being traced.
      Parameters:
      trace - AbandonedTrace object to add.
    • clearTrace

      protected void clearTrace()
      Clears the list of objects being traced by this object.
    • close

      public void close() throws SQLException
      Subclasses can implement this nop.
      Specified by:
      close in interface AutoCloseable
      Throws:
      SQLException - Ignored here, for subclasses.
      Since:
      2.10.0
    • close

      protected void close(Consumer<Exception> exceptionHandler)
      Closes this resource and if an exception is caught, then calls exceptionHandler.
      Parameters:
      exceptionHandler - Consumes exception thrown closing this resource.
      Since:
      2.10.0
    • getLastUsed

      @Deprecated public long getLastUsed()
      Deprecated.
      Gets the last time this object was used in milliseconds.
      Specified by:
      getLastUsed in interface TrackedUse
      Returns:
      long time in milliseconds.
    • getLastUsedInstant

      Specified by:
      getLastUsedInstant in interface TrackedUse
    • getTrace

      Gets a list of objects being traced by this object.
      Returns:
      List of objects.
    • removeThisTrace

      protected void removeThisTrace(Object source)
      Removes this object the source object is tracing.
      Parameters:
      source - The object tracing
      Since:
      2.7.0
    • removeTrace

      protected void removeTrace(AbandonedTrace trace)
      Removes a child object this object is tracing.
      Parameters:
      trace - AbandonedTrace object to remove.
    • setLastUsed

      protected void setLastUsed()
      Sets the time this object was last used to the current time in milliseconds.
    • setLastUsed

      protected void setLastUsed(Instant lastUsedInstant)
      Sets the instant this object was last used.
      Parameters:
      lastUsedInstant - instant.
      Since:
      2.10.0
    • setLastUsed

      @Deprecated protected void setLastUsed(long lastUsedMillis)
      Deprecated.
      Sets the time in milliseconds this object was last used.
      Parameters:
      lastUsedMillis - time in milliseconds.