Je travaille sur les files d'attente JMS. Mon exigence est de surveiller la taille de la file d'attente et d'envoyer des courriels une fois qu'il n'y a pas de messages dans la file d'attente. Le travail Cronjob surveille la file d'attente et déclenché sur le premier message de la file d'attente. Voici le code pour déclencher le travail.Hybris cronjob - démarrer cronjob si ne fonctionne pas
CronJobModel CronJobModel = new CronJobModel();
CronJobModel.setCode("Job1");
CronJobModel = flexibleSearchService
.getModelByExample(CronJobModel);
modelService.save(CronJobModel);
LOG.debug(" Check and start job");
if (!cronJobService.isRunning(CronJobModel)) {
LOG.info("Job initiated on first message in the Queue. ");
cronJobService.performCronJob(CronJobModel);
LOG.info("Job status::" + cronJobService.isRunning(CronJobModel));
}
sortie de la console
Job a lancé le premier message dans la file d'attente.
Statut d'emploi :: faux
En conséquence, le travail est déclenché plus d'une fois. Pourquoi le cronjob n'a pas commencé et passe immédiatement à l'état de fonctionnement? Y a-t-il une meilleure façon d'identifier le travail qui s'est déclenché et de ne pas déclencher à nouveau?