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
  • Field Details

  • 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 interface org.apache.camel.spi.RoutePolicy
      Overrides:
      onRemove in class org.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 class org.apache.camel.support.service.BaseService
      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()