org.apache.camel.routepolicy.quartz2
Class ScheduledRoutePolicy
java.lang.Object
org.apache.camel.support.ServiceSupport
org.apache.camel.impl.RoutePolicySupport
org.apache.camel.routepolicy.quartz2.ScheduledRoutePolicy
- All Implemented Interfaces:
- 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.impl.RoutePolicySupport
- implements ScheduledRoutePolicyConstants
This is Quartz2.x 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.quartz2.QuartzComponent
Fields inherited from class org.apache.camel.impl.RoutePolicySupport |
log |
Fields inherited from class org.apache.camel.support.ServiceSupport |
shutdown, shuttingdown, started, starting, stopped, stopping, suspended, suspending |
Fields inherited from interface org.apache.camel.routepolicy.quartz2.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 |
Method Summary |
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)
|
protected 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.impl.RoutePolicySupport |
doStart, getExceptionHandler, handleException, onExchangeBegin, onExchangeDone, onInit, onResume, onStart, onStop, onSuspend, resumeRoute, setExceptionHandler, startConsumer, startRoute, stopConsumer, stopRoute, stopRoute, suspendRoute, suspendRoute |
Methods inherited from class org.apache.camel.support.ServiceSupport |
doResume, doShutdown, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, resume, shutdown, start, stop, suspend |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
scheduledRouteDetailsMap
protected Map<String,ScheduledRouteDetails> scheduledRouteDetailsMap
ScheduledRoutePolicy
public ScheduledRoutePolicy()
createTrigger
protected abstract org.quartz.Trigger createTrigger(ScheduledRoutePolicyConstants.Action action,
org.apache.camel.Route route)
throws Exception
- Throws:
Exception
onJobExecute
protected 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 interface org.apache.camel.spi.RoutePolicy
- Overrides:
onRemove
in class org.apache.camel.impl.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 class org.apache.camel.impl.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)
throws Exception
- Throws:
Exception
updateScheduledRouteDetails
protected void updateScheduledRouteDetails(ScheduledRoutePolicyConstants.Action action,
org.quartz.JobDetail jobDetail,
org.quartz.Trigger trigger,
org.apache.camel.Route route)
throws Exception
- Throws:
Exception
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()
Apache Camel