Interface LockedPool.Tracker<T>
- Type Parameters:
T- the type of pooled objects
- Enclosing class:
LockedPool<P>
public static interface LockedPool.Tracker<T>
A receiver of Pool events.
A simple implementations may just count acquire/release/remove
pool events via, respectively, acquired(Pool, Entry),
released(Pool, Entry) and removed(Pool, Entry),
and make sure that the count is 0 when
terminated(Pool, Collection) is called.
More advanced implementations may also obtain a stack trace at the time of the event to troubleshoot leaking of pooled entries.
-
Method Summary
Modifier and TypeMethodDescriptiondefault voidacquired(Pool<T> pool, Pool.Entry<T> entry) Callback method invoked when an entry isacquired.static <S> LockedPool.Tracker<S> default voidreleased(Pool<T> pool, Pool.Entry<T> entry) Callback method invoked when an entry isreleased.default voidremoved(Pool<T> pool, Pool.Entry<T> entry) Callback method invoked when an entry isremoved.default voidterminated(Pool<T> pool, Collection<Pool.Entry<T>> entries) Callback method invoked when thePoolisterminated.
-
Method Details
-
noTracker
- Type Parameters:
S- the type of pooled objects- Returns:
- a no-op implementation of
Tracker
-
acquired
Callback method invoked when an entry is
acquired.- Parameters:
pool- the poolentry- the acquired entry
-
released
Callback method invoked when an entry is
released.- Parameters:
pool- the poolentry- the released entry
-
removed
Callback method invoked when an entry is
removed.- Parameters:
pool- the poolentry- the removed entry
-
terminated
Callback method invoked when the
Poolisterminated.- Parameters:
pool- the poolentries- the list of entries at termination
-