public class DefaultAsyncProcessorAwaitManager extends ServiceSupport implements AsyncProcessorAwaitManager
AsyncProcessorAwaitManager.AwaitThread, AsyncProcessorAwaitManager.Statistics
shutdown, shuttingdown, started, starting, stopped, stopping, suspended, suspending
Constructor and Description |
---|
DefaultAsyncProcessorAwaitManager() |
Modifier and Type | Method and Description |
---|---|
void |
await(Exchange exchange,
CountDownLatch latch)
Registers the exchange to await for the callback to be triggered by another thread which has taken over processing
this exchange.
|
Collection<AsyncProcessorAwaitManager.AwaitThread> |
browse()
A read-only browser of the
AsyncProcessorAwaitManager.AwaitThread s that are currently inflight. |
void |
countDown(Exchange exchange,
CountDownLatch latch)
Triggered when the other thread is done processing the exchange, to signal to the waiting thread is done, and can take
over control to further process the exchange.
|
protected void |
doStart()
Implementations override this method to support customized start/stop.
|
protected void |
doStop()
Implementations override this method to support customized start/stop.
|
AsyncProcessorAwaitManager.Statistics |
getStatistics()
Gets the utilization statistics of this manager
|
void |
interrupt(Exchange exchange)
To interrupt an exchange which may seem as stuck, to force the exchange to continue,
allowing any blocking thread to be released.
|
void |
interrupt(String exchangeId)
To interrupt an exchange which may seem as stuck, to force the exchange to continue,
allowing any blocking thread to be released.
|
boolean |
isInterruptThreadsWhileStopping()
Whether to interrupt any blocking threads during stopping.
|
void |
setInterruptThreadsWhileStopping(boolean interruptThreadsWhileStopping)
Sets whether to interrupt any blocking threads during stopping.
|
int |
size()
Number of threads that are blocked waiting for other threads to trigger the callback when they are done processing
the exchange.
|
doResume, doShutdown, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspend
public DefaultAsyncProcessorAwaitManager()
public void await(Exchange exchange, CountDownLatch latch)
AsyncProcessorAwaitManager
await
in interface AsyncProcessorAwaitManager
exchange
- the exchangelatch
- the latch used to wait for other thread to signal when its donepublic void countDown(Exchange exchange, CountDownLatch latch)
AsyncProcessorAwaitManager
countDown
in interface AsyncProcessorAwaitManager
exchange
- the exchangelatch
- the latch used to wait for other thread to signal when its donepublic int size()
AsyncProcessorAwaitManager
size
in interface AsyncProcessorAwaitManager
public Collection<AsyncProcessorAwaitManager.AwaitThread> browse()
AsyncProcessorAwaitManager
AsyncProcessorAwaitManager.AwaitThread
s that are currently inflight.browse
in interface AsyncProcessorAwaitManager
public void interrupt(String exchangeId)
AsyncProcessorAwaitManager
interrupt
in interface AsyncProcessorAwaitManager
exchangeId
- the exchange id to interrupt.public void interrupt(Exchange exchange)
AsyncProcessorAwaitManager
interrupt
in interface AsyncProcessorAwaitManager
exchange
- the exchange to interrupt.public boolean isInterruptThreadsWhileStopping()
AsyncProcessorAwaitManager
isInterruptThreadsWhileStopping
in interface AsyncProcessorAwaitManager
public void setInterruptThreadsWhileStopping(boolean interruptThreadsWhileStopping)
AsyncProcessorAwaitManager
setInterruptThreadsWhileStopping
in interface AsyncProcessorAwaitManager
public AsyncProcessorAwaitManager.Statistics getStatistics()
AsyncProcessorAwaitManager
getStatistics
in interface AsyncProcessorAwaitManager
protected void doStart() throws Exception
ServiceSupport
ServiceSupport.doStop()
for more details.doStart
in class ServiceSupport
Exception
ServiceSupport.doStop()
protected void doStop() throws Exception
ServiceSupport
ServiceSupport.doStop()
method when
the service is being stopped. This method will also be invoked
if the service is still in uninitialized state (eg has not
been started). The method is always called to allow the service
to do custom logic when the service is being stopped, such as when
CamelContext
is shutting down.doStop
in class ServiceSupport
Exception
ServiceSupport.doStart()
Apache Camel