Package org.apache.camel.spi
Interface ShutdownAware
-
- All Superinterfaces:
ShutdownPrepared
public interface ShutdownAware extends ShutdownPrepared
AllowsConsumer
to fine grained control on shutdown which mostly have to cater for in-memory based components. These components need to be able to have an extra chance to have their pending exchanges being completed to support graceful shutdown. This helps ensure that no messages get lost.- See Also:
ShutdownStrategy
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
deferShutdown(ShutdownRunningTask shutdownRunningTask)
To defer shutdown during first phase of shutdown.int
getPendingExchangesSize()
Gets the number of pending exchanges.-
Methods inherited from interface org.apache.camel.spi.ShutdownPrepared
prepareShutdown
-
-
-
-
Method Detail
-
deferShutdown
boolean deferShutdown(ShutdownRunningTask shutdownRunningTask)
To defer shutdown during first phase of shutdown. This allows any pending exchanges to be completed and therefore ensure a graceful shutdown without loosing messages. At the very end when there are no more inflight and pending messages the consumer could then safely be shutdown. This is needed byorg.apache.camel.component.seda.SedaConsumer
.- Parameters:
shutdownRunningTask
- the configured option for how to act when shutting down running tasks.- Returns:
- true to defer shutdown to very last.
-
getPendingExchangesSize
int getPendingExchangesSize()
Gets the number of pending exchanges. Some consumers has internal queues withExchange
which are pending. For example theorg.apache.camel.component.seda.SedaConsumer
. Return zero to indicate no pending exchanges and therefore ready to shutdown.- Returns:
- number of pending exchanges
-
-