У меня проблема с синхронизацией обработки для нескольких потоков на нескольких разных серверах для службы Java в Windows.
В этом приложении несколько потоков пользователей извлекают сообщения из одной и той же очереди JMS. Сообщения приходят группами по 3 или 4, и мне нужно убедиться, что сообщения в каждой группе обрабатываются полностью последовательно. Мне нужен какой-то механизм синхронизации, чтобы удостовериться, что если thread1 извлекает сообщение, затем thread2 извлекает следующее сообщение из этой группы, thread2 ждет, пока thread1 завершит обработку, прежде чем начинать обрабатывать свое сообщение.
Есть предложения по распределенным механизмам синхронизации для потоков? Подойдет любой тип решения (решения JMS, распределенное кэширование и т. Д.)
Примечание. Используемый нами JMS-провайдер - ActiveMQ.