У меня есть однопоточный прослушиватель сообщений, который прослушивает входящие сообщения. Полученные сообщения сохраняются в базе данных по мере их получения.
Существует сообщение A, и за ним следует соответствующее сообщение B со ссылкой.it.In Некоторые нечетные случаи, B прибывает перед A. Теперь в этом случае, должно быть 3 повторения после некоторых 'x' равных интервалов, чтобы видеть, прибыл ли A, и затем сохраняется ассоциация.
Как сообщениеслушатель является однопоточным, если мы уложим поток в спящий режим, это затронет всю систему.Поэтому необходимо выполнить отдельную повторную попытку потока.
Можем ли мы использовать Quartz Job Scheduler для этой цели, чтобы избежать обработки проблем с многопоточностью и иметь PERSISTENT STORE для любого из следующих двух способов:
- Запланируйте задание в Кварце три раза и отслеживайте флаг в JobDataMap, чтобы проверить, успешны ли предыдущие попытки, затем вернитесь, ничего не делая
ИЛИ
2. Запланируйте задание на повторную попытку один раз, а затем, если повтор не удастся, запланируйте то же самое задание через несколько секунд.
Может ли кварц использоваться только для повторяющихся заданий и не иметь некоторого информационного диапазона о состоянии по заданию или есть какой-либо другой лучший способ сделать это.