Class ScheduleServiceImpl
Object
ScheduleServiceImpl
- All Implemented Interfaces:
ScheduleService
@Service("vScheduleService")
@Transactional(propagation=SUPPORTS,
readOnly=true)
public class ScheduleServiceImpl
extends Object
implements ScheduleService
-
Field Summary
Fields inherited from interface ScheduleService
NODE_MAP_KEY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidafterContextRefreshedEvent(ContextRefreshedEvent event) Callback executado apos o refresh do contexto Spring, usado para inicializar/ reconstruir o estado do scheduler na subida da aplicacao.voiddeleteSchedule(String jobId) Exclui uma jobvoidexecuteJob(String jobId) Executa imediatamente uma tarefa agendada.getJobDataMap(String jobId) Recupera o mapa de dados persistidos do job (osjobParamsinformados na criacao/atualizacao do agendamento).getJobState(String jobId) Obtem o estado de execucao de uma jobgetLastExecutionDate(String jobId) Data da ultima execucaogetNextExecutionDate(String jobId) Data da proxima execucaoObtem informacoes de status em uma unica chamada ao schedulerTriggergetTriggerById(String id) Recupera a trigger do Quartz pelo schedule id (job id).getTriggerInfo(String jobId) Obtem a informacao (TriggerInfo) utilizada para construir o job.booleanisNodeAvaliable(String nodeName) booleanbooleanvoidPausa todas a terefas agendadas no framework.voidPausa uma tarefaintReconstroi todas as jobs ativasintReprocessa todas as tarefas agendadas do sistema, recriando suas triggersvoidrebuildCalendars(Long feriadoId) Atualiza o calendario de feriados de cada trigger afetada pelo feriado passado como parametro.voidRecupera e reprocessa todas as triggers para utilizar o recurso de calendario de feriados do Quartz.voidrebuildIgnoreCalendars(String scheduleId) voidrebuildSchedule(String jobId) Reprocessa a agenda usando a mesma TriggerInfo usada em sua construcao.voidReconstroi e adiciona no scheduler o calendario geral de feriadosvoidRestaura a execucao de uma jobschedule(TriggerInfo info, Class<? extends Job> jobClass) Cria uma agenda de execucao da job especificaCria uma agenda de execucao da job especificavoidsetAgendamentoFeriadoDao(AgendamentoFeriadoDao agendamentoFeriadoDao) voidsetConfigService(ConfigService configService) voidsetFeriadoService(FeriadoService feriadoService) voidsetLogService(LogService logService) voidsetProcessoService(ProcessoService processoService) voidsetReportService(ReportService reportService) voidsetScheduleDataService(ScheduleDataService scheduleDataService) voidsetScheduler(Scheduler scheduler) voidsetSchedulerDao(SchedulerDao schedulerDao) voidsetScriptService(ScriptLibraryService scriptService) voidstandBy()voidstart()voidupdateSchedule(String jobId, TriggerInfo info) Atualiza uma rotina de agendamentovoidupdateSchedule(String jobId, TriggerInfo info, boolean keepState) Atualiza uma rotina d agendamentovoidupdateSchedule(String jobId, TriggerInfo info, Class<? extends Job> jobClass) Atualiza uma rotina, atualizando dados da trigger e jobClassvoidupdateSchedule(String jobId, TriggerInfo info, Class<? extends Job> jobClass, Map<String, Object> jobParams) Atualiza uma rotina de agendamento, atualizando todos os valores
-
Constructor Details
-
ScheduleServiceImpl
public ScheduleServiceImpl()
-
-
Method Details
-
setProcessoService
-
setReportService
-
setScriptService
-
setScheduleDataService
-
setAgendamentoFeriadoDao
-
setFeriadoService
-
setScheduler
@Autowired public void setScheduler(Scheduler scheduler) -
setConfigService
-
setLogService
-
setSchedulerDao
-
afterContextRefreshedEvent
@EventListener(org.springframework.context.event.ContextRefreshedEvent.class) @Transactional public void afterContextRefreshedEvent(ContextRefreshedEvent event) Description copied from interface:ScheduleServiceCallback executado apos o refresh do contexto Spring, usado para inicializar/ reconstruir o estado do scheduler na subida da aplicacao.- Specified by:
afterContextRefreshedEventin interfaceScheduleService- Parameters:
event- evento de refresh do contexto Spring
-
getTriggerInfo
Description copied from interface:ScheduleServiceObtem a informacao (TriggerInfo) utilizada para construir o job.- Specified by:
getTriggerInfoin interfaceScheduleService- Parameters:
jobId- id do job- Returns:
- informacoes da trigger do job, ou
nullse nao encontrado
-
schedule
@Transactional(propagation=REQUIRED) public String schedule(TriggerInfo info, Class<? extends Job> jobClass) throws JobWillNeverFireException Description copied from interface:ScheduleServiceCria uma agenda de execucao da job especifica- Specified by:
schedulein interfaceScheduleService- Parameters:
info- Informacoes do agendamentojobClass- - 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 JobWillNeverFireExceptionDescription copied from interface:ScheduleServiceCria uma agenda de execucao da job especifica- Specified by:
schedulein interfaceScheduleService- Parameters:
info- Informacoes do agendamentojobClass- - Classe workerjobParams- - Parametros que devem ser persistidos, e sao esperados pela JobClass- Returns:
- Job ID
- Throws:
JobWillNeverFireException
-
getTriggerById
Description copied from interface:ScheduleServiceRecupera a trigger do Quartz pelo schedule id (job id).- Specified by:
getTriggerByIdin interfaceScheduleService- Parameters:
id- schedule id (job id) do agendamento- Returns:
- trigger correspondente, ou
nullse nao encontrada
-
rebuildSchedule
Description copied from interface:ScheduleServiceReprocessa 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:
rebuildSchedulein interfaceScheduleService- Parameters:
jobId-
-
rebuildAllSchedules
@Transactional(propagation=REQUIRED) public int rebuildAllSchedules()Description copied from interface:ScheduleServiceReprocessa todas as tarefas agendadas do sistema, recriando suas triggers- Specified by:
rebuildAllSchedulesin interfaceScheduleService- Returns:
-
rebuildAllActiveSchedules
@Transactional(propagation=REQUIRED) public int rebuildAllActiveSchedules()Description copied from interface:ScheduleServiceReconstroi todas as jobs ativas- Specified by:
rebuildAllActiveSchedulesin interfaceScheduleService- Returns:
-
updateSchedule
Description copied from interface:ScheduleServiceAtualiza uma rotina de agendamento- Specified by:
updateSchedulein interfaceScheduleService- Parameters:
jobId-info-
-
updateSchedule
@Transactional(propagation=REQUIRED) public void updateSchedule(String jobId, TriggerInfo info, boolean keepState) Description copied from interface:ScheduleServiceAtualiza uma rotina d agendamento- Specified by:
updateSchedulein interfaceScheduleService- Parameters:
jobId- - Id do Jobinfo- - Informacoes da TriggerkeepState- - 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:ScheduleServiceAtualiza uma rotina, atualizando dados da trigger e jobClass- Specified by:
updateSchedulein interfaceScheduleService- 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 JobWillNeverFireExceptionDescription copied from interface:ScheduleServiceAtualiza uma rotina de agendamento, atualizando todos os valores- Specified by:
updateSchedulein interfaceScheduleService- Parameters:
jobId-info-jobClass-jobParams-- Throws:
JobWillNeverFireException
-
deleteSchedule
Description copied from interface:ScheduleServiceExclui uma job- Specified by:
deleteSchedulein interfaceScheduleService- Parameters:
jobId-
-
pauseJob
Description copied from interface:ScheduleServicePausa uma tarefa- Specified by:
pauseJobin interfaceScheduleService- Parameters:
jobId-
-
resumeJob
Description copied from interface:ScheduleServiceRestaura a execucao de uma job- Specified by:
resumeJobin interfaceScheduleService- Parameters:
jobId-
-
executeJob
Description copied from interface:ScheduleServiceExecuta imediatamente uma tarefa agendada.- Specified by:
executeJobin interfaceScheduleService- Parameters:
jobId-
-
getJobState
Description copied from interface:ScheduleServiceObtem o estado de execucao de uma job- Specified by:
getJobStatein interfaceScheduleService- Parameters:
jobId-- Returns:
- - Estado da execucao, ou NULL caso a job nao seja encontrada
-
getLastExecutionDate
Description copied from interface:ScheduleServiceData da ultima execucao- Specified by:
getLastExecutionDatein interfaceScheduleService- Parameters:
jobId-- Returns:
-
getNextExecutionDate
Description copied from interface:ScheduleServiceData da proxima execucao- Specified by:
getNextExecutionDatein interfaceScheduleService- Parameters:
jobId-- Returns:
-
getStatus
Description copied from interface:ScheduleServiceObtem informacoes de status em uma unica chamada ao scheduler- Specified by:
getStatusin interfaceScheduleService- Parameters:
jobId-- Returns:
-
pauseAllJobs
@Transactional(propagation=REQUIRED) public void pauseAllJobs()Description copied from interface:ScheduleServicePausa 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:
pauseAllJobsin interfaceScheduleService
-
isValidCalendarInfo
- Specified by:
isValidCalendarInfoin interfaceScheduleService
-
rebuildSchedulerHolidays
@Transactional public void rebuildSchedulerHolidays()Description copied from interface:ScheduleServiceReconstroi e adiciona no scheduler o calendario geral de feriados- Specified by:
rebuildSchedulerHolidaysin interfaceScheduleService
-
rebuildCalendars
Description copied from interface:ScheduleServiceAtualiza o calendario de feriados de cada trigger afetada pelo feriado passado como parametro.- Specified by:
rebuildCalendarsin interfaceScheduleService- Parameters:
feriadoId-
-
rebuildIgnoreCalendars
-
rebuildHolidayTriggers
@Transactional public void rebuildHolidayTriggers()Description copied from interface:ScheduleServiceRecupera e reprocessa todas as triggers para utilizar o recurso de calendario de feriados do Quartz.- Specified by:
rebuildHolidayTriggersin interfaceScheduleService
-
standBy
public void standBy() throws SchedulerException- Specified by:
standByin interfaceScheduleService- Throws:
SchedulerException
-
isRunning
public boolean isRunning() throws SchedulerException- Specified by:
isRunningin interfaceScheduleService- Throws:
SchedulerException
-
start
public void start() throws SchedulerException- Specified by:
startin interfaceScheduleService- Throws:
SchedulerException
-
getJobDataMap
Description copied from interface:ScheduleServiceRecupera o mapa de dados persistidos do job (osjobParamsinformados na criacao/atualizacao do agendamento).- Specified by:
getJobDataMapin interfaceScheduleService- Parameters:
jobId- id do job- Returns:
- mapa de parametros persistidos do job
-
isNodeAvaliable
- Specified by:
isNodeAvaliablein interfaceScheduleService
-