Class DefaultSchedulerService

    • Constructor Detail

      • DefaultSchedulerService

        public DefaultSchedulerService​(ScheduledJobService<? extends ScheduledJob> jobService,
                                       ScheduledJobRepository<com.broadleafcommerce.data.tracking.core.Trackable> jobRepository,
                                       com.broadleafcommerce.common.messaging.notification.NotificationManager notificationManager,
                                       com.broadleafcommerce.common.extension.TypeFactory typeFactory,
                                       ClusterProperties clusterProperties)
                                throws org.quartz.SchedulerException
        Initializes the scheduler service with an StdScheduler
        Throws:
        org.quartz.SchedulerException
      • DefaultSchedulerService

        public DefaultSchedulerService​(ScheduledJobService<? extends ScheduledJob> jobService,
                                       ScheduledJobRepository<com.broadleafcommerce.data.tracking.core.Trackable> jobRepository,
                                       com.broadleafcommerce.common.messaging.notification.NotificationManager notificationManager,
                                       com.broadleafcommerce.common.extension.TypeFactory typeFactory,
                                       org.quartz.Scheduler scheduler,
                                       ClusterProperties clusterProperties)
                                throws org.quartz.SchedulerException
        Throws:
        org.quartz.SchedulerException
    • Method Detail

      • schedule

        public void schedule​(@Nullable
                             com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
        Description copied from interface: SchedulerService
        Initiates the quartz scheduler to create, update, and delete quartz jobs according to the Scheduled Jobs defined in the database.
        Specified by:
        schedule in interface SchedulerService
        Parameters:
        contextInfo - context information surrounding multitenant state
      • processJob

        public Optional<org.quartz.JobDetail> processJob​(ScheduledJob job)
                                                  throws org.quartz.SchedulerException
        Description copied from interface: SchedulerService
        Review a ScheduledJob and add scheduling and trigger information to the running quartz instance, if it's not already there.
        Specified by:
        processJob in interface SchedulerService
        Parameters:
        job - The scheduled job entity
        Returns:
        The JobDetail resulting from Quartz scheduling, if the item was scheduled
        Throws:
        org.quartz.SchedulerException - Thrown if a problem occurs in Quartz during scheduling
      • initializeAndStartScheduler

        protected void initializeAndStartScheduler()
                                            throws org.quartz.SchedulerException
        Throws:
        org.quartz.SchedulerException
      • establishTrigger

        protected Optional<org.quartz.JobDetail> establishTrigger​(ScheduledJob job,
                                                                  org.quartz.JobKey thisJobKey,
                                                                  boolean isUpdate)
                                                           throws org.quartz.SchedulerException
        Throws:
        org.quartz.SchedulerException
      • createJobDetail

        protected org.quartz.JobDetail createJobDetail​(ScheduledJob job)
      • deleteJobIfExists

        protected void deleteJobIfExists​(ScheduledJob job,
                                         org.quartz.JobKey thisJobKey,
                                         Set<org.quartz.JobKey> jobKeys)
                                  throws org.quartz.SchedulerException
        Throws:
        org.quartz.SchedulerException
      • updateDetected

        protected boolean updateDetected​(ScheduledJob job,
                                         org.quartz.JobKey thisJobKey)
                                  throws org.quartz.SchedulerException
        Throws:
        org.quartz.SchedulerException
      • getJobClass

        protected Class<? extends org.quartz.Job> getJobClass()
        The POJO that corresponds to the object that should execute when the quartz job is triggered.
        Returns:
        The POJO that corresponds to the object that should execute when the quartz job is triggered.