Class JobRegisterServiceImpl

java.lang.Object
org.apache.fineract.infrastructure.jobs.service.JobRegisterServiceImpl
All Implemented Interfaces:
EventListener, JobRegisterService, org.springframework.context.ApplicationListener<org.springframework.context.event.ContextClosedEvent>

@Service public class JobRegisterServiceImpl extends Object implements JobRegisterService, org.springframework.context.ApplicationListener<org.springframework.context.event.ContextClosedEvent>
Service class to create and load batch jobs to Scheduler using SchedulerFactoryBean ,MethodInvokingJobDetailFactoryBean and CronTriggerFactoryBean
  • Constructor Details

    • JobRegisterServiceImpl

      public JobRegisterServiceImpl()
  • Method Details

    • executeJob

      public void executeJob(ScheduledJobDetail scheduledJobDetail, String triggerType, Set<org.apache.fineract.infrastructure.jobs.data.JobParameterDTO> jobParameterDTOSet)
    • rescheduleJob

      public void rescheduleJob(ScheduledJobDetail scheduledJobDetail)
    • pauseScheduler

      public void pauseScheduler()
      Specified by:
      pauseScheduler in interface JobRegisterService
    • startScheduler

      public void startScheduler()
      Specified by:
      startScheduler in interface JobRegisterService
    • rescheduleJob

      public void rescheduleJob(Long jobId)
      Specified by:
      rescheduleJob in interface JobRegisterService
    • executeJobWithParameters

      public void executeJobWithParameters(Long jobId, String jobParametersJson)
      Specified by:
      executeJobWithParameters in interface JobRegisterService
    • isSchedulerRunning

      public boolean isSchedulerRunning()
      Specified by:
      isSchedulerRunning in interface JobRegisterService
    • onApplicationEvent

      public void onApplicationEvent(org.springframework.context.event.ContextClosedEvent event)
      Need to use ContextClosedEvent instead of ContextStoppedEvent because in case Spring Boot fails to start-up (e.g. because Tomcat port is already in use) then org.springframework.boot.SpringApplication.run(String...) does a context.close(); and not a context.stop();
      Specified by:
      onApplicationEvent in interface org.springframework.context.ApplicationListener<org.springframework.context.event.ContextClosedEvent>
    • scheduleJob

      public void scheduleJob(ScheduledJobDetail scheduledJobDetails)
      Specified by:
      scheduleJob in interface JobRegisterService
    • stopAllSchedulers

      public void stopAllSchedulers()
      Specified by:
      stopAllSchedulers in interface JobRegisterService
    • stopScheduler

      public void stopScheduler(String name)
      Specified by:
      stopScheduler in interface JobRegisterService