Pessoal, estou desenvolvendo uma aplicação web (rodando em um Tomcat 7). Ela faz mais ou menos isso: o usuario conecta nela, vai selecionar alguns campos, setar um horário para agendamento. Esses agendamentos ficam em memória, então minha dúvida é como eu faço para remover, ou editar algum agendamento??
Já vi a respeito do “scheduler.rescheduleJob(oldTrigger.getKey(), newTrigger);” o problema é que não consigo achar esse agendamento em memoria.
Você não vai persistir seus Jobs de nenhuma maneira? Nem mesmo os dados do agendamento para futuras manipulações?
Construí um sistema que usa Quartz como backend (na API 1.8 ainda). No meu caso, preciso de um mecanimos de agendamento persistente, então, acabo salvando o ID do Job, e posso recuperá-lo depois, para remoção, reagendamento, etc.
[quote=EduFrazao]Você não vai persistir seus Jobs de nenhuma maneira? Nem mesmo os dados do agendamento para futuras manipulações?
Construí um sistema que usa Quartz como backend (na API 1.8 ainda). No meu caso, preciso de um mecanimos de agendamento persistente, então, acabo salvando o ID do Job, e posso recuperá-lo depois, para remoção, reagendamento, etc.[/quote]
Poisé, eu estava lendo a respeito de um JobStore, só não entendi como que eu faço essa replicação dos dados para o banco.
JOBStore é o mecanismo de persistência do JOB. Se não me engano, você tem 3 disponíveis: Em memória, que é o que você usa. JOBStore JDBC e um outro JOBStore persistence que usa um mecanismo de persistencia interno mais rápido.
Eu uso o JOBStore JDBC pois preciso que meus JOBs estejam disponíveis depois de uma parada da aplicação. Eles não podem simplesmente ser recriados e tal.
Sua configuração é muito simples.
De uma olhada nesta DOC: