Package com.atlassian.bitbucket.util
Interface ForcedDrainable
- All Superinterfaces:
Drainable
Indicates connection pools and similar data structures which have a means of waiting for resources to close/clean up
and additionally support a more aggressive form of draining which attempts to forcibly release the underlying
resources.
-
Method Summary
Modifier and TypeMethodDescriptionboolean
forceDrain
(long timeout, TimeUnit unit) A more aggressive form ofDrainable.drain(long, java.util.concurrent.TimeUnit)
.
-
Method Details
-
forceDrain
A more aggressive form ofDrainable.drain(long, java.util.concurrent.TimeUnit)
. If after the supplied timeout the underlying resources are not free then this object will take additional steps to ensure they are free. Callers are advised to firstdrain
before forcing to minimise adverse effects from this more aggressive approach.Note that this method is not guaranteed to succeed and the caller must take care to handle the possibility that some or all of the underlying resources may still be in use after this method returns.
- Parameters:
timeout
- the timeout which, using the specified unit, will be converted to millisecondsunit
- the unit the provided timeout is in- Returns:
true
if the pool was drained; otherwise,false
if 1 or more resources could not be accounted for or forced within the specified timeout
-