0
我正在處理JMS隊列。我的要求是在隊列中沒有消息時監視隊列大小併發送電子郵件。 Cronjob作業將監視隊列並在隊列中的第一條消息上觸發。以下是觸發這項工作的代碼。在隊列的第一消息Hybris cronjob - 如果未運行,則啓動cronjob
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));
}
控制檯輸出
工作開始。
工作狀態::假
由於工作觸發超過一次的結果。爲什麼cronjob沒有立即啓動並立即變爲運行狀態?是否有更好的方法來確定工作已觸發並確保不再觸發?