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
`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
`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()` Gets the last time this object was used in milliseconds.
`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)` Sets the time in milliseconds 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

    public long getLastUsed()

Gets the last time this object was used in milliseconds.

Specified by:
  `getLastUsed` in interface `TrackedUse`
Returns:
  long time in milliseconds.

#### 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​(long lastUsedMillis)

Sets the time in milliseconds this object was last used.

Parameters:
  `lastUsedMillis` - time in milliseconds.