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
Fields Modifier and Type Field Description protected Map<String,ScheduledRouteDetails>scheduledRouteDetailsMap-
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
-
Fields 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 Constructor Description ScheduledRoutePolicy()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected 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()intgetRouteStopGracePeriod()protected ScheduledRouteDetailsgetScheduledRouteDetails(String routeId)org.quartz.SchedulergetScheduler()TimeUnitgetTimeUnit()protected 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, doStart, getExceptionHandler, handleException, onExchangeBegin, onExchangeDone, onInit, 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, 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
-
-
-
-
Field Detail
-
scheduledRouteDetailsMap
protected Map<String,ScheduledRouteDetails> scheduledRouteDetailsMap
-
-
Method Detail
-
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
protected void doStop() throws Exception- Overrides:
doStopin classorg.apache.camel.support.RoutePolicySupport- 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
protected ScheduledRouteDetails getScheduledRouteDetails(String routeId)
-
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
public void setTimeUnit(TimeUnit timeUnit)
-
getTimeUnit
public TimeUnit getTimeUnit()
-
-