Je suis en train de câbler Guice (Java), planificateur Quartz et iBatis (iBaGuice) pour effectuer les opérations suivantes:Guice + quartz + iBatis
- ligne de commande Démarrer utilitaire scanner à l'aide
main()
- périodiquement répertoire d'analyse (fourni comme argument) pour les fichiers contenant la sortie au format XML (ou YAML)
- Lorsque le fichier est détecté, analyser et résultat de sortie à la base de données
Les problèmes:
- J'ai utilisé this example pour câbler Guice et Quartz. Cependant, je me manque des détails importants que je me pose dans les commentaires, mais le poste est un peu daté et je cite ici aussi:
- Il est pas évident de mettre en place la planificateur. Où et comment dois-je câbler le
Trigger
(je peux utiliserTrigger#makeMinutelyTrigger
)?- J'ai vraiment juste un type de travail que j'exécuterai, je comprends que les détails dans le JobFactory # newJob viennent du paramètre
TriggerFiredBundle
mais où/comment est-ce que je fais le câblage? Et où/comment puis-je créer ou fil de travail concret?
P.S. Je suis allé un peu plus loin en créant et en câblant ScheduleProvider. Maintenant, je suis coincé avec la façon de planifier réellement le travail dans cet extrait suivant. Il coutures que ma méthode JobFactory#newJob
est jamais appelé
public class CollectorServiceImpl implements CollectorService {
Scheduler scheduler;
/**
* @throws SchedulerException
*/
@Inject
public CollectorServiceImpl(final SchedulerFactory factory, final GuiceJobFactory jobFactory)
throws SchedulerException {
scheduler = factory.getScheduler();
scheduler.setJobFactory(jobFactory);
}
/**
* @throws SchedulerException
* @see teradata.quantum.reporting.collector.service.CollectorService#start()
*/
@Override
public void start() throws SchedulerException {
Trigger trigger = TriggerUtils.makeMinutelyTrigger("MIN_TRIGGER");
scheduler.scheduleJob(trigger); // this fails trigger validation since no job name is provided
scheduler.start();
}
}
Merci Uwe - c'est exactement ce qui me manquait! – Bostone