В чем разница между DeliveryStates для клиента Vert.x AMQP - PullRequest
0 голосов
/ 27 мая 2020

Как AmqpReceiver, в чем разница между различными DeliveryStates для полученного сообщения.

Запуск ReceiverTest для проверки, см. https://github.com/vert-x3/vertx-amqp-client/blob/master/src/test/java/io/vertx/amqp/ReceiverTest.java.

Всегда получили тот же результат при запуске testReceptionWithAcceptedMessages, testReceptionWithRejectedMessages: Все сообщения в тестовой очереди удаляются.

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

Может ли клиент Vert.x AMQP делать то же самое, что и клиент RabbitMQ при использовании очереди? Например, положительные или отрицательные подтверждения, многократные подтверждения и запрос и т.д. c. См. https://www.rabbitmq.com/confirms.html#basics.

Спасибо.

1 Ответ

0 голосов
/ 27 мая 2020

В этих тестах клиент принимает и отклоняет сообщения от брокера ActiveMQ Artemis. Посредник либо отклонит сообщение при его принятии, либо DLQ сообщение, если оно отклонено в соответствии с конфигурацией в тестах. Вы можете настроить брокера по-другому в собственном случае, но для тестов это не актуально. То, что брокер, с которым вы разговариваете, делает, когда вы принимаете, отпускаете, отклоняете или изменяете доставку с помощью установленного распоряжения, будет зависеть от используемого вами брокера и его конфигурации.

Вы можете обратиться к разделу 3.3 и разделу 3.4 спецификации AMQP 1.0 для определения того, как состояние доставки влияет на доступные, полученные или архивированные доставки.

...