Как я могу заставить брокера RabbitMQ NACK отправить сообщение для тестирования?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как я могу заставить брокера RabbitMQ NACK отправить сообщение для тестирования?

Сообщение Anonymous »

Я работаю над проектом Spring Boot, используя RabbitMQ через Spring AMQP. Мы хотели бы иметь возможность протестировать поведение нашего приложения, когда публикация сообщения имеет NACK (в частности, когда аргумент ack PublisherConfirmCallback#confirm имеет значение false). Однако нам сложно реализовать этот сценарий в интеграционном тесте (то есть при работающем приложении, а не в модульном тесте).

Просто чтобы будьте ясны: мы тестируем подтверждения издателя, а не подтверждения потребителя.

Мы знаем, что вы можете получить доступ к каналу с помощью метода выполнения RabbitTemplate, но наш RabbitMQ автоматически подтверждается, поэтому сообщение уже прошло время выполнения обратного вызова канала. Мы думаем, что сможем либо отключить автоматическое подтверждение во время выполнения (чтобы не прерывать набор тестов), либо просто заблокировать канал и получать по нему сообщение вручную в тесте, но мы не можем понять как это сделать. Но на самом деле любой способ вызвать NACK во время теста был бы отличным.

tl;dr, как получить сообщение из клиентского кода

Подробнее здесь: https://stackoverflow.com/questions/352 ... or-testing
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»