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 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
-
Method Summary
Modifier and TypeMethodDescriptionprotected 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
protected ScheduledRouteDetails
getScheduledRouteDetails
(String routeId) org.quartz.Scheduler
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
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
-
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:
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
- 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
-
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
-