Class ScheduleServiceImpl

Object
ScheduleServiceImpl
All Implemented Interfaces:
ScheduleService

@Service("vScheduleService") @Transactional(propagation=SUPPORTS, readOnly=true) public class ScheduleServiceImpl extends Object implements ScheduleService
  • Constructor Details

    • ScheduleServiceImpl

      public ScheduleServiceImpl()
  • Method Details

    • setProcessoService

      @Autowired public void setProcessoService(ProcessoService processoService)
    • setReportService

      @Autowired public void setReportService(ReportService reportService)
    • setScriptService

      @Autowired public void setScriptService(ScriptLibraryService scriptService)
    • setScheduleDataService

      @Autowired public void setScheduleDataService(ScheduleDataService scheduleDataService)
    • setAgendamentoFeriadoDao

      @Autowired public void setAgendamentoFeriadoDao(AgendamentoFeriadoDao agendamentoFeriadoDao)
    • setFeriadoService

      @Autowired public void setFeriadoService(FeriadoService feriadoService)
    • setScheduler

      @Autowired public void setScheduler(Scheduler scheduler)
    • setConfigService

      @Autowired public void setConfigService(ConfigService configService)
    • setLogService

      @Autowired public void setLogService(LogService logService)
    • setSchedulerDao

      @Autowired public void setSchedulerDao(SchedulerDao schedulerDao)
    • afterContextRefreshedEvent

      @EventListener(org.springframework.context.event.ContextRefreshedEvent.class) @Transactional public void afterContextRefreshedEvent(ContextRefreshedEvent event)
      Description copied from interface: ScheduleService
      Callback executado apos o refresh do contexto Spring, usado para inicializar/ reconstruir o estado do scheduler na subida da aplicacao.
      Specified by:
      afterContextRefreshedEvent in interface ScheduleService
      Parameters:
      event - evento de refresh do contexto Spring
    • getTriggerInfo

      public TriggerInfo getTriggerInfo(String jobId)
      Description copied from interface: ScheduleService
      Obtem a informacao (TriggerInfo) utilizada para construir o job.
      Specified by:
      getTriggerInfo in interface ScheduleService
      Parameters:
      jobId - id do job
      Returns:
      informacoes da trigger do job, ou null se nao encontrado
    • schedule

      @Transactional(propagation=REQUIRED) public String schedule(TriggerInfo info, Class<? extends Job> jobClass) throws JobWillNeverFireException
      Description copied from interface: ScheduleService
      Cria uma agenda de execucao da job especifica
      Specified by:
      schedule in interface ScheduleService
      Parameters:
      info - Informacoes do agendamento
      jobClass - - Classe worker
      Returns:
      Job ID
      Throws:
      JobWillNeverFireException
    • schedule

      @Transactional(propagation=REQUIRED) public String schedule(TriggerInfo info, Class<? extends Job> jobClass, Map<String,Object> jobParams) throws JobWillNeverFireException
      Description copied from interface: ScheduleService
      Cria uma agenda de execucao da job especifica
      Specified by:
      schedule in interface ScheduleService
      Parameters:
      info - Informacoes do agendamento
      jobClass - - Classe worker
      jobParams - - Parametros que devem ser persistidos, e sao esperados pela JobClass
      Returns:
      Job ID
      Throws:
      JobWillNeverFireException
    • getTriggerById

      public Trigger getTriggerById(String id)
      Description copied from interface: ScheduleService
      Recupera a trigger do Quartz pelo schedule id (job id).
      Specified by:
      getTriggerById in interface ScheduleService
      Parameters:
      id - schedule id (job id) do agendamento
      Returns:
      trigger correspondente, ou null se nao encontrada
    • rebuildSchedule

      @Transactional(propagation=REQUIRED) public void rebuildSchedule(String jobId)
      Description copied from interface: ScheduleService
      Reprocessa a agenda usando a mesma TriggerInfo usada em sua construcao. Pode ser utilizado em casos onde o agendamento ficou com status de erro
      Specified by:
      rebuildSchedule in interface ScheduleService
      Parameters:
      jobId -
    • rebuildAllSchedules

      @Transactional(propagation=REQUIRED) public int rebuildAllSchedules()
      Description copied from interface: ScheduleService
      Reprocessa todas as tarefas agendadas do sistema, recriando suas triggers
      Specified by:
      rebuildAllSchedules in interface ScheduleService
      Returns:
    • rebuildAllActiveSchedules

      @Transactional(propagation=REQUIRED) public int rebuildAllActiveSchedules()
      Description copied from interface: ScheduleService
      Reconstroi todas as jobs ativas
      Specified by:
      rebuildAllActiveSchedules in interface ScheduleService
      Returns:
    • updateSchedule

      @Transactional(propagation=REQUIRED) public void updateSchedule(String jobId, TriggerInfo info)
      Description copied from interface: ScheduleService
      Atualiza uma rotina de agendamento
      Specified by:
      updateSchedule in interface ScheduleService
      Parameters:
      jobId -
      info -
    • updateSchedule

      @Transactional(propagation=REQUIRED) public void updateSchedule(String jobId, TriggerInfo info, boolean keepState)
      Description copied from interface: ScheduleService
      Atualiza uma rotina d agendamento
      Specified by:
      updateSchedule in interface ScheduleService
      Parameters:
      jobId - - Id do Job
      info - - Informacoes da Trigger
      keepState - - Caso a trigger ja exista, se o estado (pausado por exemplo) sera mantido
    • updateSchedule

      @Transactional(propagation=REQUIRED) public void updateSchedule(String jobId, TriggerInfo info, Class<? extends Job> jobClass) throws JobWillNeverFireException
      Description copied from interface: ScheduleService
      Atualiza uma rotina, atualizando dados da trigger e jobClass
      Specified by:
      updateSchedule in interface ScheduleService
      Parameters:
      jobId -
      info -
      jobClass -
      Throws:
      JobWillNeverFireException
    • updateSchedule

      @Transactional(propagation=REQUIRED) public void updateSchedule(String jobId, TriggerInfo info, Class<? extends Job> jobClass, Map<String,Object> jobParams) throws JobWillNeverFireException
      Description copied from interface: ScheduleService
      Atualiza uma rotina de agendamento, atualizando todos os valores
      Specified by:
      updateSchedule in interface ScheduleService
      Parameters:
      jobId -
      info -
      jobClass -
      jobParams -
      Throws:
      JobWillNeverFireException
    • deleteSchedule

      @Transactional(propagation=REQUIRED) public void deleteSchedule(String jobId)
      Description copied from interface: ScheduleService
      Exclui uma job
      Specified by:
      deleteSchedule in interface ScheduleService
      Parameters:
      jobId -
    • pauseJob

      @Transactional(propagation=REQUIRED) public void pauseJob(String jobId)
      Description copied from interface: ScheduleService
      Pausa uma tarefa
      Specified by:
      pauseJob in interface ScheduleService
      Parameters:
      jobId -
    • resumeJob

      @Transactional(propagation=REQUIRED) public void resumeJob(String jobId)
      Description copied from interface: ScheduleService
      Restaura a execucao de uma job
      Specified by:
      resumeJob in interface ScheduleService
      Parameters:
      jobId -
    • executeJob

      @Transactional(propagation=REQUIRED) public void executeJob(String jobId)
      Description copied from interface: ScheduleService
      Executa imediatamente uma tarefa agendada.
      Specified by:
      executeJob in interface ScheduleService
      Parameters:
      jobId -
    • getJobState

      public JobState getJobState(String jobId)
      Description copied from interface: ScheduleService
      Obtem o estado de execucao de uma job
      Specified by:
      getJobState in interface ScheduleService
      Parameters:
      jobId -
      Returns:
      - Estado da execucao, ou NULL caso a job nao seja encontrada
    • getLastExecutionDate

      public Date getLastExecutionDate(String jobId)
      Description copied from interface: ScheduleService
      Data da ultima execucao
      Specified by:
      getLastExecutionDate in interface ScheduleService
      Parameters:
      jobId -
      Returns:
    • getNextExecutionDate

      public Date getNextExecutionDate(String jobId)
      Description copied from interface: ScheduleService
      Data da proxima execucao
      Specified by:
      getNextExecutionDate in interface ScheduleService
      Parameters:
      jobId -
      Returns:
    • getStatus

      @Transactional(propagation=REQUIRED) public TriggerSnapshotStatus getStatus(String jobId)
      Description copied from interface: ScheduleService
      Obtem informacoes de status em uma unica chamada ao scheduler
      Specified by:
      getStatus in interface ScheduleService
      Parameters:
      jobId -
      Returns:
    • pauseAllJobs

      @Transactional(propagation=REQUIRED) public void pauseAllJobs()
      Description copied from interface: ScheduleService
      Pausa todas a terefas agendadas no framework. Util para usar em migracoes de bases, onde as jobs precisam ser pausadas para nao conflitar com a base vigente
      Specified by:
      pauseAllJobs in interface ScheduleService
    • isValidCalendarInfo

      public boolean isValidCalendarInfo(CalendarTriggerInfo info)
      Specified by:
      isValidCalendarInfo in interface ScheduleService
    • rebuildSchedulerHolidays

      @Transactional public void rebuildSchedulerHolidays()
      Description copied from interface: ScheduleService
      Reconstroi e adiciona no scheduler o calendario geral de feriados
      Specified by:
      rebuildSchedulerHolidays in interface ScheduleService
    • rebuildCalendars

      @Transactional public void rebuildCalendars(Long feriadoId)
      Description copied from interface: ScheduleService
      Atualiza o calendario de feriados de cada trigger afetada pelo feriado passado como parametro.
      Specified by:
      rebuildCalendars in interface ScheduleService
      Parameters:
      feriadoId -
    • rebuildIgnoreCalendars

      public void rebuildIgnoreCalendars(String scheduleId)
    • rebuildHolidayTriggers

      @Transactional public void rebuildHolidayTriggers()
      Description copied from interface: ScheduleService
      Recupera e reprocessa todas as triggers para utilizar o recurso de calendario de feriados do Quartz.
      Specified by:
      rebuildHolidayTriggers in interface ScheduleService
    • standBy

      public void standBy() throws SchedulerException
      Specified by:
      standBy in interface ScheduleService
      Throws:
      SchedulerException
    • isRunning

      public boolean isRunning() throws SchedulerException
      Specified by:
      isRunning in interface ScheduleService
      Throws:
      SchedulerException
    • start

      public void start() throws SchedulerException
      Specified by:
      start in interface ScheduleService
      Throws:
      SchedulerException
    • getJobDataMap

      public Map<String,Object> getJobDataMap(String jobId)
      Description copied from interface: ScheduleService
      Recupera o mapa de dados persistidos do job (os jobParams informados na criacao/atualizacao do agendamento).
      Specified by:
      getJobDataMap in interface ScheduleService
      Parameters:
      jobId - id do job
      Returns:
      mapa de parametros persistidos do job
    • isNodeAvaliable

      public boolean isNodeAvaliable(String nodeName)
      Specified by:
      isNodeAvaliable in interface ScheduleService