Class AbandonedTrace
java.lang.Object
org.apache.tomcat.dbcp.dbcp2.AbandonedTrace
- All Implemented Interfaces:
AutoCloseable,TrackedUse
- Direct Known Subclasses:
DelegatingConnection,DelegatingResultSet,DelegatingStatement
Tracks connection usage for recovering and reporting abandoned connections.
The JDBC Connection, Statement, and ResultSet classes extend this class.
- Since:
- 2.0
-
Constructor Summary
ConstructorsConstructorDescriptionCreates a new AbandonedTrace without config and without doing abandoned tracing.AbandonedTrace(AbandonedTrace parent) Constructs a new AbandonedTrace with a parent object. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddTrace(AbandonedTrace trace) Adds an object to the list of objects being traced.protected voidClears the list of objects being traced by this object.voidclose()Subclasses can implement this nop.protected voidCloses this resource and if an exception is caught, then callsexceptionHandler.longDeprecated.Gets the last Instant this object was used.protected List<AbandonedTrace> getTrace()Gets a list of objects being traced by this object.protected voidremoveThisTrace(Object source) Removes this object the source object is tracing.protected voidremoveTrace(AbandonedTrace trace) Removes a child object this object is tracing.protected voidSets the time this object was last used to the current time in milliseconds.protected voidsetLastUsed(long lastUsedMillis) Deprecated.protected voidsetLastUsed(Instant lastUsedInstant) Sets the instant this object was last used.
-
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
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
Subclasses can implement this nop.- Specified by:
closein interfaceAutoCloseable- Throws:
SQLException- Ignored here, for subclasses.- Since:
- 2.10.0
-
close
-
getLastUsed
Deprecated.Gets the last time this object was used in milliseconds.- Specified by:
getLastUsedin interfaceTrackedUse- Returns:
- long time in milliseconds.
-
getLastUsedInstant
Description copied from interface:TrackedUseGets the last Instant this object was used.Starting with Java 9, the JRE
SystemClockprecision is increased usually down to microseconds, or tenth of microseconds, depending on the OS, Hardware, and JVM implementation.- Specified by:
getLastUsedInstantin interfaceTrackedUse- Returns:
- the last Instant this object was used.
-
getTrace
Gets a list of objects being traced by this object.- Returns:
- List of objects.
-
removeThisTrace
Removes this object the source object is tracing.- Parameters:
source- The object tracing- Since:
- 2.7.0
-
removeTrace
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
Sets the instant this object was last used.- Parameters:
lastUsedInstant- instant.- Since:
- 2.10.0
-
setLastUsed
Deprecated.Sets the time in milliseconds this object was last used.- Parameters:
lastUsedMillis- time in milliseconds.
-
setLastUsed(Instant)