Package org.apache.camel.impl.engine
Class DurationRoutePolicy
java.lang.Object
org.apache.camel.support.service.BaseService
org.apache.camel.support.service.ServiceSupport
org.apache.camel.support.RoutePolicySupport
org.apache.camel.impl.engine.DurationRoutePolicy
- All Implemented Interfaces:
AutoCloseable
,org.apache.camel.CamelContextAware
,org.apache.camel.Service
,org.apache.camel.ShutdownableService
,org.apache.camel.spi.HasCamelContext
,org.apache.camel.spi.RoutePolicy
,org.apache.camel.StatefulService
,org.apache.camel.SuspendableService
@Metadata(label="bean",
description="RoutePolicy which executes for a duration and then triggers an action. This can be used to stop the route after it has processed a number of messages, or has been running for N seconds.",
annotations="interfaceName=org.apache.camel.spi.RoutePolicy")
@Configurer(metadataOnly=true)
public class DurationRoutePolicy
extends org.apache.camel.support.RoutePolicySupport
implements org.apache.camel.CamelContextAware
RoutePolicy
which executes for a duration and then triggers an action.
This can be used to stop the route after it has processed a number of messages, or has been running for N seconds.-
Field Summary
Fields inherited from class org.apache.camel.support.service.BaseService
BUILT, FAILED, INITIALIZED, INITIALIZING, lock, NEW, SHUTDOWN, SHUTTING_DOWN, STARTED, STARTING, status, STOPPED, STOPPING, SUSPENDED, SUSPENDING
-
Constructor Summary
ConstructorsConstructorDescriptionDurationRoutePolicy
(org.apache.camel.CamelContext camelContext, String routeId) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
doStop()
org.apache.camel.impl.engine.DurationRoutePolicy.Action
org.apache.camel.CamelContext
int
int
void
onExchangeDone
(org.apache.camel.Route route, org.apache.camel.Exchange exchange) void
onInit
(org.apache.camel.Route route) protected ScheduledFuture
<?> protected void
void
setAction
(org.apache.camel.impl.engine.DurationRoutePolicy.Action action) What action to perform when maximum is triggered.void
setCamelContext
(org.apache.camel.CamelContext camelContext) void
setMaxMessages
(int maxMessages) Maximum number of messages to process before the action is triggeredvoid
setMaxSeconds
(int maxSeconds) Maximum seconds Camel is running before the action is triggeredMethods inherited from class org.apache.camel.support.RoutePolicySupport
controller, getExceptionHandler, handleException, onExchangeBegin, onRemove, onResume, onStart, onStop, onSuspend, resumeOrStartConsumer, resumeRoute, setExceptionHandler, startConsumer, startRoute, stopConsumer, stopRoute, stopRoute, stopRouteAsync, suspendOrStopConsumer, suspendRoute, suspendRoute
Methods inherited from class org.apache.camel.support.service.BaseService
build, doBuild, doFail, doInit, doLifecycleChange, doResume, doShutdown, doStart, doSuspend, fail, getStatus, init, isBuild, isInit, isNew, isRunAllowed, isShutdown, isStarted, isStarting, isStartingOrStarted, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, 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
build, close, init, start, stop
Methods inherited from interface org.apache.camel.ShutdownableService
shutdown
Methods inherited from interface org.apache.camel.StatefulService
getStatus, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspending
Methods inherited from interface org.apache.camel.SuspendableService
isSuspended, resume, suspend
-
Constructor Details
-
DurationRoutePolicy
public DurationRoutePolicy() -
DurationRoutePolicy
-
-
Method Details
-
getCamelContext
public org.apache.camel.CamelContext getCamelContext()- Specified by:
getCamelContext
in interfaceorg.apache.camel.spi.HasCamelContext
-
setCamelContext
public void setCamelContext(org.apache.camel.CamelContext camelContext) - Specified by:
setCamelContext
in interfaceorg.apache.camel.CamelContextAware
-
getMaxMessages
public int getMaxMessages() -
setMaxMessages
public void setMaxMessages(int maxMessages) Maximum number of messages to process before the action is triggered -
getMaxSeconds
public int getMaxSeconds() -
setMaxSeconds
public void setMaxSeconds(int maxSeconds) Maximum seconds Camel is running before the action is triggered -
getAction
public org.apache.camel.impl.engine.DurationRoutePolicy.Action getAction() -
setAction
public void setAction(org.apache.camel.impl.engine.DurationRoutePolicy.Action action) What action to perform when maximum is triggered. -
onInit
public void onInit(org.apache.camel.Route route) - Specified by:
onInit
in interfaceorg.apache.camel.spi.RoutePolicy
- Overrides:
onInit
in classorg.apache.camel.support.RoutePolicySupport
-
onExchangeDone
public void onExchangeDone(org.apache.camel.Route route, org.apache.camel.Exchange exchange) - Specified by:
onExchangeDone
in interfaceorg.apache.camel.spi.RoutePolicy
- Overrides:
onExchangeDone
in classorg.apache.camel.support.RoutePolicySupport
-
doStop
- Overrides:
doStop
in classorg.apache.camel.support.service.BaseService
- Throws:
Exception
-
performMaxMessagesAction
protected void performMaxMessagesAction() -
performMaxDurationAction
-