|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.camel.support.ServiceSupport
org.apache.camel.impl.DefaultShutdownStrategy
public class DefaultShutdownStrategy
Default ShutdownStrategy
which uses graceful shutdown.
setTimeout(long)
and
setShutdownNowOnTimeout(boolean)
methods.
Routes will by default be shutdown in the reverse order of which they where started.
You can customize this using the setShutdownRoutesInReverseOrder(boolean)
method.
Field Summary |
---|
Fields inherited from class org.apache.camel.support.ServiceSupport |
---|
shutdown, shuttingdown, started, starting, stopped, stopping, suspended, suspending |
Constructor Summary | |
---|---|
DefaultShutdownStrategy()
|
|
DefaultShutdownStrategy(CamelContext camelContext)
|
Method Summary | |
---|---|
protected void |
doShutdown()
Implementations override this method to perform customized shutdown. |
protected boolean |
doShutdown(CamelContext context,
List<RouteStartupOrder> routes,
long timeout,
TimeUnit timeUnit,
boolean suspendOnly,
boolean abortAfterTimeout,
boolean forceShutdown)
|
protected void |
doStart()
Implementations override this method to support customized start/stop. |
protected void |
doStop()
Implementations override this method to support customized start/stop. |
boolean |
forceShutdown(Service service)
Whether a service is forced to shutdown. |
CamelContext |
getCamelContext()
Get the CamelContext |
long |
getTimeout()
Gets the timeout. |
TimeUnit |
getTimeUnit()
Gets the time unit used |
boolean |
isShutdownNowOnTimeout()
Whether to force shutdown of all consumers when a timeout occurred. |
boolean |
isShutdownRoutesInReverseOrder()
Whether to shutdown routes in reverse order than they where started. |
void |
setCamelContext(CamelContext camelContext)
Injects the CamelContext |
void |
setShutdownNowOnTimeout(boolean shutdownNowOnTimeout)
Sets whether to force shutdown of all consumers when a timeout occurred and thus not all consumers was shutdown within that period. |
void |
setShutdownRoutesInReverseOrder(boolean shutdownRoutesInReverseOrder)
Sets whether routes should be shutdown in reverse or the same order as they where started. |
void |
setTimeout(long timeout)
Set an timeout to wait for the shutdown to complete. |
void |
setTimeUnit(TimeUnit timeUnit)
Set the time unit to use |
void |
shutdown(CamelContext context,
List<RouteStartupOrder> routes)
Shutdown the routes |
void |
shutdown(CamelContext context,
List<RouteStartupOrder> routes,
long timeout,
TimeUnit timeUnit)
Shutdown the routes using a specified timeout instead of the default timeout values |
boolean |
shutdown(CamelContext context,
RouteStartupOrder route,
long timeout,
TimeUnit timeUnit,
boolean abortAfterTimeout)
Shutdown the route using a specified timeout instead of the default timeout values and supports abortAfterTimeout mode |
void |
shutdownForced(CamelContext context,
List<RouteStartupOrder> routes)
Shutdown the routes, forcing shutdown being more aggressive, if timeout occurred. |
protected static void |
shutdownNow(Consumer consumer)
Shutdown the consumer immediately. |
protected void |
shutdownNow(List<Consumer> consumers)
Shutdown all the consumers immediately. |
protected void |
shutdownRoutesNow(List<RouteStartupOrder> routes)
Shutdown all the consumers immediately. |
void |
suspend(CamelContext context,
List<RouteStartupOrder> routes)
Suspends the routes |
void |
suspend(CamelContext context,
List<RouteStartupOrder> routes,
long timeout,
TimeUnit timeUnit)
Suspends the routes using a specified timeout instead of the default timeout values |
protected static void |
suspendNow(Consumer consumer)
Suspends/stops the consumer immediately. |
Methods inherited from class org.apache.camel.support.ServiceSupport |
---|
doResume, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspended, isSuspending, resume, shutdown, start, stop, suspend |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.apache.camel.Service |
---|
start, stop |
Constructor Detail |
---|
public DefaultShutdownStrategy()
public DefaultShutdownStrategy(CamelContext camelContext)
Method Detail |
---|
public void shutdown(CamelContext context, List<RouteStartupOrder> routes) throws Exception
ShutdownStrategy
shutdown
in interface ShutdownStrategy
context
- the camel contextroutes
- the routes, ordered by the order they was started
Exception
- is thrown if error shutting down the consumers, however its preferred to avoid thispublic void shutdownForced(CamelContext context, List<RouteStartupOrder> routes) throws Exception
ShutdownStrategy
CamelContext
is shutting down, to ensure Camel will shutdown
if messages seems to be stuck.
shutdownForced
in interface ShutdownStrategy
context
- the camel contextroutes
- the routes, ordered by the order they was started
Exception
- is thrown if error shutting down the consumers, however its preferred to avoid thispublic void suspend(CamelContext context, List<RouteStartupOrder> routes) throws Exception
ShutdownStrategy
suspend
in interface ShutdownStrategy
context
- the camel contextroutes
- the routes, ordered by the order they was started
Exception
- is thrown if error suspending the consumers, however its preferred to avoid thispublic void shutdown(CamelContext context, List<RouteStartupOrder> routes, long timeout, TimeUnit timeUnit) throws Exception
ShutdownStrategy
shutdown
in interface ShutdownStrategy
context
- the camel contextroutes
- the routes, ordered by the order they was startedtimeout
- timeouttimeUnit
- the unit to use
Exception
- is thrown if error shutting down the consumers, however its preferred to avoid thispublic boolean shutdown(CamelContext context, RouteStartupOrder route, long timeout, TimeUnit timeUnit, boolean abortAfterTimeout) throws Exception
ShutdownStrategy
shutdown
in interface ShutdownStrategy
context
- the camel contextroute
- the routetimeout
- timeouttimeUnit
- the unit to useabortAfterTimeout
- should abort shutdown after timeout
Exception
- is thrown if error shutting down the consumer, however its preferred to avoid thispublic void suspend(CamelContext context, List<RouteStartupOrder> routes, long timeout, TimeUnit timeUnit) throws Exception
ShutdownStrategy
suspend
in interface ShutdownStrategy
context
- the camel contextroutes
- the routes, ordered by the order they was startedtimeout
- timeouttimeUnit
- the unit to use
Exception
- is thrown if error suspending the consumers, however its preferred to avoid thisprotected boolean doShutdown(CamelContext context, List<RouteStartupOrder> routes, long timeout, TimeUnit timeUnit, boolean suspendOnly, boolean abortAfterTimeout, boolean forceShutdown) throws Exception
Exception
public boolean forceShutdown(Service service)
ShutdownStrategy
RedeliveryErrorHandler
uses this information
to know if a forced shutdown is in progress, and then break out of redelivery attempts.
forceShutdown
in interface ShutdownStrategy
service
- the service
public void setTimeout(long timeout)
ShutdownStrategy
setTimeout
in interface ShutdownStrategy
timeout
- timeoutpublic long getTimeout()
ShutdownStrategy
getTimeout
in interface ShutdownStrategy
public void setTimeUnit(TimeUnit timeUnit)
ShutdownStrategy
setTimeUnit
in interface ShutdownStrategy
timeUnit
- the unit to usepublic TimeUnit getTimeUnit()
ShutdownStrategy
getTimeUnit
in interface ShutdownStrategy
public void setShutdownNowOnTimeout(boolean shutdownNowOnTimeout)
ShutdownStrategy
CamelContext
has been shutdown.
setShutdownNowOnTimeout
in interface ShutdownStrategy
shutdownNowOnTimeout
- true to force shutdown, false to leave them runningpublic boolean isShutdownNowOnTimeout()
ShutdownStrategy
isShutdownNowOnTimeout
in interface ShutdownStrategy
public boolean isShutdownRoutesInReverseOrder()
ShutdownStrategy
isShutdownRoutesInReverseOrder
in interface ShutdownStrategy
public void setShutdownRoutesInReverseOrder(boolean shutdownRoutesInReverseOrder)
ShutdownStrategy
setShutdownRoutesInReverseOrder
in interface ShutdownStrategy
shutdownRoutesInReverseOrder
- true to shutdown in reverse orderpublic CamelContext getCamelContext()
CamelContextAware
CamelContext
getCamelContext
in interface CamelContextAware
public void setCamelContext(CamelContext camelContext)
CamelContextAware
CamelContext
setCamelContext
in interface CamelContextAware
camelContext
- the Camel contextprotected void shutdownRoutesNow(List<RouteStartupOrder> routes)
routes
- the routes to shutdownprotected void shutdownNow(List<Consumer> consumers)
consumers
- the consumers to shutdownprotected static void shutdownNow(Consumer consumer)
consumer
- the consumer to shutdownprotected static void suspendNow(Consumer consumer)
consumer
- the consumer to suspendprotected 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()
protected void doShutdown() throws Exception
ServiceSupport
doShutdown
in class ServiceSupport
Exception
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |