@ThreadSafe public class ClientExecutionTimer extends java.lang.Object
AmazonHttpClient
Modifier and Type | Field and Description |
---|---|
private java.util.concurrent.ScheduledThreadPoolExecutor |
executor |
Constructor and Description |
---|
ClientExecutionTimer() |
Modifier and Type | Method and Description |
---|---|
java.util.concurrent.ScheduledThreadPoolExecutor |
getExecutor()
This method is current exposed for testing purposes
|
private void |
initializeExecutor()
Executor is lazily initialized as it's not compatible with Java 6
|
private boolean |
isTimeoutDisabled(int clientExecutionTimeoutMillis) |
private ClientExecutionAbortTrackerTask |
scheduleTimerTask(int clientExecutionTimeoutMillis) |
void |
shutdown()
Shutdown the underlying
ScheduledThreadPoolExecutor . |
ClientExecutionAbortTrackerTask |
startTimer(int clientExecutionTimeoutMillis)
Start the timer with the specified timeout and return a object that can be used to track the
state of the timer and cancel it if need be.
|
public ClientExecutionAbortTrackerTask startTimer(int clientExecutionTimeoutMillis)
clientExecutionTimeoutMillis
- A positive value here enables the timer, a non-positive value disables it and
returns a dummy tracker taskClientExecutionAbortTrackerTaskImpl
to query the state of
the task, provide it with up to date context, and cancel it if appropriateprivate void initializeExecutor()
public java.util.concurrent.ScheduledThreadPoolExecutor getExecutor()
ScheduledThreadPoolExecutor
public void shutdown()
ScheduledThreadPoolExecutor
. Should be invoked when
AmazonHttpClient
is shutdownprivate ClientExecutionAbortTrackerTask scheduleTimerTask(int clientExecutionTimeoutMillis)
private boolean isTimeoutDisabled(int clientExecutionTimeoutMillis)