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
ConstructorDescriptionCreates 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 void
addTrace
(AbandonedTrace trace) Adds an object to the list of objects being traced.protected void
Clears the list of objects being traced by this object.void
close()
Subclasses can implement this nop.protected void
Closes this resource and if an exception is caught, then callsexceptionHandler
.long
Deprecated.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
Sets the time this object was last used to the current time in milliseconds.protected void
setLastUsed
(long lastUsedMillis) Deprecated.protected void
setLastUsed
(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:
close
in 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:
getLastUsed
in interfaceTrackedUse
- Returns:
- long time in milliseconds.
-
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 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)