Я использую Apache NMS (в c #) для получения сообщений от ActiveMQ.Я хочу быть в состоянии подтвердить каждое полученное сообщение или откатить сообщение в случае ошибки.
Я решил первую часть, используя CreateSession (AcknowledgementMode.IndividualAcknowledge), а затем для каждого полученногоmessage Я использую message.Acknowledge ().
Проблема в том, что в этом режиме нет опции отката.если сообщение не подтверждено - я никогда не смогу получить его снова для другого испытания.Его можно отправить только другому потребителю, но другого потребителя нет, поэтому он просто застрял в очереди.
Поэтому я попытался использовать AcknowledgementMode.Transactional, но здесь есть еще одна проблема: я могу толькоиспользуйте session.Commit () или session.Rollback (), но нет способа узнать, какое конкретное сообщение я фиксирую или выполняю роль.
Как правильно это сделать?