@InterfaceAudience.Private public class TimeoutExceptionInjector extends Object
 The timer won't start tracking time until calling start(). If complete() or
 trigger() is called before start(), calls to start() will fail.
| Modifier and Type | Field and Description | 
|---|---|
| private boolean | complete | 
| private static org.slf4j.Logger | LOG | 
| private long | maxTime | 
| private long | start | 
| private Timer | timer | 
| private TimerTask | timerTask | 
| Constructor and Description | 
|---|
| TimeoutExceptionInjector(ForeignExceptionListener listener,
                        long maxTime)Create a generic timer for a task/process. | 
| Modifier and Type | Method and Description | 
|---|---|
| void | complete()For all time forward, do not throw an error because the process has completed. | 
| long | getMaxTime() | 
| void | start()Start a timer to fail a process if it takes longer than the expected time to complete. | 
| void | trigger()Trigger the timer immediately. | 
private static final org.slf4j.Logger LOG
private final long maxTime
private volatile boolean complete
private long start
public TimeoutExceptionInjector(ForeignExceptionListener listener, long maxTime)
listener - listener to notify if the process times outmaxTime - max allowed running time for the process. Timer starts on calls to
          start()public long getMaxTime()
public void complete()
public void start() throws IllegalStateException
Non-blocking.
IllegalStateException - if the timer has already been marked done via complete()
           or trigger()public void trigger()
Exposed for testing.
Copyright © 2007–2021 The Apache Software Foundation. All rights reserved.