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.JobDetail
createJobDetail(ScheduledRoutePolicyConstants.Action action, org.apache.camel.Route route)
protected abstract org.quartz.Trigger
createTrigger(ScheduledRoutePolicyConstants.Action action, org.apache.camel.Route route)
void
deleteRouteJob(ScheduledRoutePolicyConstants.Action action, ScheduledRouteDetails scheduledRouteDetails)
protected void
doStop()
int
getRouteStopGracePeriod()
protected ScheduledRouteDetails
getScheduledRouteDetails(String routeId)
org.quartz.Scheduler
getScheduler()
TimeUnit
getTimeUnit()
protected void
loadCallbackDataIntoSchedulerContext(org.quartz.JobDetail jobDetail, ScheduledRoutePolicyConstants.Action action, org.apache.camel.Route route)
void
onJobExecute(ScheduledRoutePolicyConstants.Action action, org.apache.camel.Route route)
void
onRemove(org.apache.camel.Route route)
void
pauseRouteTrigger(ScheduledRoutePolicyConstants.Action action, String routeId)
protected void
registerRouteToScheduledRouteDetails(org.apache.camel.Route route)
void
resumeRouteTrigger(ScheduledRoutePolicyConstants.Action action, String routeId)
org.quartz.JobKey
retrieveJobKey(ScheduledRoutePolicyConstants.Action action, ScheduledRouteDetails scheduledRouteDetails)
org.quartz.TriggerKey
retrieveTriggerKey(ScheduledRoutePolicyConstants.Action action, String routeId)
void
scheduleRoute(ScheduledRoutePolicyConstants.Action action, org.apache.camel.Route route)
void
setRouteStopGracePeriod(int routeStopGracePeriod)
void
setScheduler(org.quartz.Scheduler scheduler)
void
setTimeUnit(TimeUnit timeUnit)
protected void
updateScheduledRouteDetails(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:
onRemove
in interfaceorg.apache.camel.spi.RoutePolicy
- Overrides:
onRemove
in 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:
doStop
in 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()
-
-