org.apache.camel.routepolicy.quartz2
Class ScheduledRoutePolicy

java.lang.Object
  extended by org.apache.camel.support.ServiceSupport
      extended by org.apache.camel.impl.RoutePolicySupport
          extended by 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


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.apache.camel.routepolicy.quartz2.ScheduledRoutePolicyConstants
ScheduledRoutePolicyConstants.Action
 
Field Summary
protected  Map<String,ScheduledRouteDetails> scheduledRouteDetailsMap
           
 
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
 
Constructor Summary
ScheduledRoutePolicy()
           
 
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
 

Field Detail

scheduledRouteDetailsMap

protected Map<String,ScheduledRouteDetails> scheduledRouteDetailsMap
Constructor Detail

ScheduledRoutePolicy

public ScheduledRoutePolicy()
Method Detail

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