@pauchog

Как отфильтровать очередь (Unacked -> Ready)?

Получаю все сообщения из очереди, затем на основании некоторых значений из заголовков сообщений формирую фильтр, для того чтобы, некоторые из сообщений отбросить/пропустить, оставшиеся обработать. Проблема в том, что после получения всех сообщений, для формирования фильтра, эти сообщения становятся unacked, даже если я делаю BasicNaсk multiple=true, requeue=true. После отключения консьюмера BasicCancel также ничего не происходит, они остаюстся unacked.
Чтобы, ещё раз выбрать сообщения, для обработки с использованием сформированного фильтра, приходится закрывать сессию (Close) с и повторно её открывать (CreateModel). Подозреваю, что должно быть какое то другое решение. Подскажите куда копать?
  • Вопрос задан
  • 1412 просмотров
Решения вопроса 1
@pauchog Автор вопроса
Ответ на вопрос здесь
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@yarkin
Странная ситуация, если тут Вам не помогут, попробуйте задать вопрос в официальной гугл-группе. А delivery-tag при nack'е идёт от последнего полученного сообщения? И не забывайте, что сервер больше не пришлёт эти сообщения в тот же канал:
The server MUST NOT deliver the message to the same client within the context of the current channel.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы