public interface

ForcedDrainable

implements Drainable
com.atlassian.stash.util.ForcedDrainable

Class Overview

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.

Summary

Public Methods
boolean forceDrain(long timeout, TimeUnit unit)
[Expand]
Inherited Methods
From interface com.atlassian.stash.util.Drainable

Public Methods

public boolean forceDrain (long timeout, TimeUnit unit)

A more aggressive form of 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 first drain 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 milliseconds
unit 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