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 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 and 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 and 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.
    `Instant` | `getLastUsedInstant()` Gets the last Instant this object was used.
    `protected List<AbandonedTrace>` | `getTrace()` Gets a list of objects being traced by this object.
    `protected void` | `removeThisTrace(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(Instant lastUsedInstant)` Sets the instant this object was last used.
    `protected void` | `setLastUsed(long lastUsedMillis)` Deprecated. Use `setLastUsed(Instant)`

    - ### 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 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 List<AbandonedTrace> 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. Use `setLastUsed(Instant)`
      Sets the time in milliseconds this object was last used.
      Parameters:
        `lastUsedMillis` - time in milliseconds.

Copyright © 2000-2022 Apache Software Foundation. All Rights Reserved.