AbandonedTrace (Apache Tomcat 9.0.68 API Documentation)

Package org.apache.tomcat.dbcp.dbcp2

## Class AbandonedTrace

- java.lang.Object
- - org.apache.tomcat.dbcp.dbcp2.AbandonedTrace

- All Implemented Interfaces:
    `TrackedUse`
  Direct Known Subclasses:
    `DelegatingConnection`, `DelegatingResultSet`, `DelegatingStatement`

      public class AbandonedTrace
      extends java.lang.Object
      implements TrackedUse

  Tracks connection usage for recovering and reporting abandoned connections.

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

  Since:
    2.0

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `AbandonedTrace()` | Creates a new AbandonedTrace without config and without doing abandoned tracing.
    `AbandonedTrace​(AbandonedTrace parent)` | Constructs a new AbandonedTrace with a parent object.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected void` | `addTrace​(AbandonedTrace trace)` | Adds an object to the list of objects being traced.
    `protected void` | `clearTrace()` | Clears the list of objects being traced by this object.
    `long` | `getLastUsed()` | Deprecated.
    `java.time.Instant` | `getLastUsedInstant()` | Gets the last Instant this object was used.
    `protected java.util.List<AbandonedTrace>` | `getTrace()` | Gets a list of objects being traced by this object.
    `protected void` | `removeThisTrace​(java.lang.Object source)` | Removes this object the source object is tracing.
    `protected void` | `removeTrace​(AbandonedTrace trace)` | Removes a child object this object is tracing.
    `protected void` | `setLastUsed()` | Sets the time this object was last used to the current time in milliseconds.
    `protected void` | `setLastUsed​(long lastUsedMillis)` | Deprecated. Use `setLastUsed(Instant)`
    `protected void` | `setLastUsed​(java.time.Instant lastUsedInstant)` | Sets the instant this object was last used.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### AbandonedTrace

          public AbandonedTrace()

      Creates a new AbandonedTrace without config and without doing abandoned tracing.

    - #### AbandonedTrace

          public AbandonedTrace​(AbandonedTrace parent)

      Constructs a new AbandonedTrace with a parent object.
      Parameters:
        `parent` - AbandonedTrace parent object.

  - ### Method Detail

    - #### 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.

    - #### 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

          public java.time.Instant getLastUsedInstant()

      Description copied from interface: `TrackedUse`
      Gets the last Instant this object was used.

      Starting with Java 9, the JRE `SystemClock` precision is increased usually down to microseconds, or tenth of microseconds, depending on the OS, Hardware, and JVM implementation.

      Specified by:
        `getLastUsedInstant` in interface `TrackedUse`
      Returns:
        the last Instant this object was used.

    - #### getTrace

          protected java.util.List<AbandonedTrace> getTrace()

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

    - #### removeThisTrace

          protected void removeThisTrace​(java.lang.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​(java.time.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.
      Use `setLastUsed(Instant)`
      Sets the time in milliseconds this object was last used.
      Parameters:
        `lastUsedMillis` - time in milliseconds.