Class ScheduledRoutePolicy
java.lang.Object
org.apache.camel.support.service.BaseService
org.apache.camel.support.service.ServiceSupport
org.apache.camel.support.RoutePolicySupport
org.apache.camel.routepolicy.quartz.ScheduledRoutePolicy
- All Implemented Interfaces:
AutoCloseable,org.apache.camel.NonManagedService,ScheduledRoutePolicyConstants,org.apache.camel.Service,org.apache.camel.ShutdownableService,org.apache.camel.spi.RoutePolicy,org.apache.camel.StatefulService,org.apache.camel.SuspendableService
- Direct Known Subclasses:
CronScheduledRoutePolicy,SimpleScheduledRoutePolicy
public abstract class ScheduledRoutePolicy
extends org.apache.camel.support.RoutePolicySupport
implements ScheduledRoutePolicyConstants, org.apache.camel.NonManagedService
This is Quartz based RoutePolicy implementation that re-use almost identical to "camel-quartz" component.
The following has been updated: - Changed and used Quartz 2.x API call on all the area affected. - Stored JobKey and
TriggerKey instead of JobDetail and Trigger objects in ScheduledRouteDetails. - ScheduledJobState is stored using
full JobKey.toString() instead of just jobName.
See org.apache.camel.component.quartz.QuartzComponent
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.camel.routepolicy.quartz.ScheduledRoutePolicyConstants
ScheduledRoutePolicyConstants.Action -
Field Summary
FieldsFields inherited from class org.apache.camel.support.service.BaseService
BUILT, FAILED, INITIALIZED, INITIALIZING, lock, NEW, SHUTDOWN, SHUTTING_DOWN, STARTED, STARTING, status, STOPPED, STOPPING, SUSPENDED, SUSPENDINGFields inherited from interface org.apache.camel.routepolicy.quartz.ScheduledRoutePolicyConstants
JOB_GROUP, JOB_RESUME, JOB_START, JOB_STOP, JOB_SUSPEND, SCHEDULED_ACTION, SCHEDULED_ROUTE, SCHEDULED_TRIGGER, TRIGGER_GROUP, TRIGGER_RESUME, TRIGGER_START, TRIGGER_STOP, TRIGGER_SUSPEND -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected org.quartz.JobDetailcreateJobDetail(ScheduledRoutePolicyConstants.Action action, org.apache.camel.Route route) protected abstract org.quartz.TriggercreateTrigger(ScheduledRoutePolicyConstants.Action action, org.apache.camel.Route route) voiddeleteRouteJob(ScheduledRoutePolicyConstants.Action action, ScheduledRouteDetails scheduledRouteDetails) protected voiddoStop()intprotected ScheduledRouteDetailsgetScheduledRouteDetails(String routeId) org.quartz.Schedulerprotected voidloadCallbackDataIntoSchedulerContext(org.quartz.JobDetail jobDetail, ScheduledRoutePolicyConstants.Action action, org.apache.camel.Route route) voidonJobExecute(ScheduledRoutePolicyConstants.Action action, org.apache.camel.Route route) voidonRemove(org.apache.camel.Route route) voidpauseRouteTrigger(ScheduledRoutePolicyConstants.Action action, String routeId) protected voidregisterRouteToScheduledRouteDetails(org.apache.camel.Route route) voidresumeRouteTrigger(ScheduledRoutePolicyConstants.Action action, String routeId) org.quartz.JobKeyretrieveJobKey(ScheduledRoutePolicyConstants.Action action, ScheduledRouteDetails scheduledRouteDetails) org.quartz.TriggerKeyretrieveTriggerKey(ScheduledRoutePolicyConstants.Action action, String routeId) voidscheduleRoute(ScheduledRoutePolicyConstants.Action action, org.apache.camel.Route route) voidsetRouteStopGracePeriod(int routeStopGracePeriod) voidsetScheduler(org.quartz.Scheduler scheduler) voidsetTimeUnit(TimeUnit timeUnit) protected voidupdateScheduledRouteDetails(ScheduledRoutePolicyConstants.Action action, org.quartz.JobDetail jobDetail, org.quartz.Trigger trigger, org.apache.camel.Route route) Methods inherited from class org.apache.camel.support.RoutePolicySupport
controller, getExceptionHandler, handleException, onExchangeBegin, onExchangeDone, onInit, onResume, onStart, onStop, onSuspend, resumeOrStartConsumer, resumeRoute, setExceptionHandler, startConsumer, startRoute, stopConsumer, stopRoute, stopRoute, stopRouteAsync, suspendOrStopConsumer, suspendRoute, suspendRouteMethods inherited from class org.apache.camel.support.service.BaseService
build, doBuild, doFail, doInit, doLifecycleChange, doResume, doShutdown, doStart, doSuspend, fail, getInternalLock, getStatus, init, isBuild, isInit, isNew, isRunAllowed, isShutdown, isStarted, isStarting, isStartingOrStarted, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspendMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.camel.Service
build, close, init, start, stopMethods inherited from interface org.apache.camel.ShutdownableService
shutdownMethods inherited from interface org.apache.camel.StatefulService
getStatus, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspendingMethods inherited from interface org.apache.camel.SuspendableService
isSuspended, resume, suspend
-
Field Details
-
scheduledRouteDetailsMap
-
-
Constructor Details
-
ScheduledRoutePolicy
public ScheduledRoutePolicy()
-
-
Method Details
-
createTrigger
protected abstract org.quartz.Trigger createTrigger(ScheduledRoutePolicyConstants.Action action, org.apache.camel.Route route) throws Exception - Throws:
Exception
-
onJobExecute
public void onJobExecute(ScheduledRoutePolicyConstants.Action action, org.apache.camel.Route route) throws Exception - Throws:
Exception
-
onRemove
public void onRemove(org.apache.camel.Route route) - Specified by:
onRemovein interfaceorg.apache.camel.spi.RoutePolicy- Overrides:
onRemovein classorg.apache.camel.support.RoutePolicySupport
-
scheduleRoute
public void scheduleRoute(ScheduledRoutePolicyConstants.Action action, org.apache.camel.Route route) throws Exception - Throws:
Exception
-
pauseRouteTrigger
public void pauseRouteTrigger(ScheduledRoutePolicyConstants.Action action, String routeId) throws org.quartz.SchedulerException - Throws:
org.quartz.SchedulerException
-
resumeRouteTrigger
public void resumeRouteTrigger(ScheduledRoutePolicyConstants.Action action, String routeId) throws org.quartz.SchedulerException - Throws:
org.quartz.SchedulerException
-
doStop
- Overrides:
doStopin classorg.apache.camel.support.service.BaseService- Throws:
Exception
-
deleteRouteJob
public void deleteRouteJob(ScheduledRoutePolicyConstants.Action action, ScheduledRouteDetails scheduledRouteDetails) throws org.quartz.SchedulerException - Throws:
org.quartz.SchedulerException
-
createJobDetail
protected org.quartz.JobDetail createJobDetail(ScheduledRoutePolicyConstants.Action action, org.apache.camel.Route route) -
updateScheduledRouteDetails
protected void updateScheduledRouteDetails(ScheduledRoutePolicyConstants.Action action, org.quartz.JobDetail jobDetail, org.quartz.Trigger trigger, org.apache.camel.Route route) -
loadCallbackDataIntoSchedulerContext
protected void loadCallbackDataIntoSchedulerContext(org.quartz.JobDetail jobDetail, ScheduledRoutePolicyConstants.Action action, org.apache.camel.Route route) throws org.quartz.SchedulerException - Throws:
org.quartz.SchedulerException
-
retrieveTriggerKey
public org.quartz.TriggerKey retrieveTriggerKey(ScheduledRoutePolicyConstants.Action action, String routeId) -
retrieveJobKey
public org.quartz.JobKey retrieveJobKey(ScheduledRoutePolicyConstants.Action action, ScheduledRouteDetails scheduledRouteDetails) -
registerRouteToScheduledRouteDetails
protected void registerRouteToScheduledRouteDetails(org.apache.camel.Route route) -
getScheduledRouteDetails
-
setScheduler
public void setScheduler(org.quartz.Scheduler scheduler) -
getScheduler
public org.quartz.Scheduler getScheduler() -
setRouteStopGracePeriod
public void setRouteStopGracePeriod(int routeStopGracePeriod) -
getRouteStopGracePeriod
public int getRouteStopGracePeriod() -
setTimeUnit
-
getTimeUnit
-