Долговечность RabbitMQ с зеркальными очередями и PerfTest

У меня есть кластер RabbitMQ с зеркальной очередью. Клиентский код прекрасно работает с ним, и когда сервер не работает, другой обрабатывает запросы.

Я хотел сделать несколько тестов на это. Для этого я использовал rabbitmq-client-tools (PerfTest).

sh./runjava.sh com.rabbitmq.examples.PerfTest -h "AMQP_STRING" -u QUEUE_NAME

Это выбрасывает следующее и не работает:

com.rabbitmq.client.ShutdownSignalException: ошибка канала; Метод протокола: #method(reply-code=406, reply-text=PRECONDITION_FAILED - неэквивалентный arg "длительный" для очереди "QUEUE_NAME" в vhost "VHOST_NAME": получен "false", но текущим является "true", class-id=50, method-id=10)

Теперь, когда мой сервер перезагружен, очередь сохраняется. Не означает ли это, что очередь / обмен надежна? Как это решить?

1 ответ

Кажется, у вас уже есть очередь с именем QUEUE_NAME, которая была объявлена ​​ранее. Указанная очередь является надежной, и вы пытаетесь повторно объявить ее недолговечной, что не разрешено протоколом.

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

Другие вопросы по тегам