2013-03-13 3 views
-1

Скажем, у меня есть несколько пользователей, которые подключаются к той же очереди.Несколько пользователей из одной очереди ActiveMQ

Моя бизнес-логика: возьмите сообщение из очереди, выполните некоторую логическую операцию, и если эта операция успешно подтвердит это сообщение (работает как клиент-файл).

Мой вопрос: что произойдет, если одна из этих логических логических устройств не работает, и она не возвращает подтверждение этого сообщения.

Есть ли риск, что это сообщение будет отправлено другому потребителю, пока сообщение все еще обрабатывается потребителем?

Есть ли какой-то тайм-аут, после которого это сообщение освобождается потоком обратно в очередь?

ответ

3

Сообщения отправляются потребителям круговым способом для потребителей очереди. Если потребитель терпит неудачу, и обработка сообщения не подтверждается в Брокере, то, как только Брокер обнаружит сбой подключения к потребителю, он вернет сообщение в очередь, сделав его доступным для обработки другим подключенным Потребителем.

Также возможно настроить максимальное количество повторных поставок для сообщения, чтобы он был помещен в очередь мертвых букв после определенной точки.

Смежные вопросы