Spring AMQP: проверка конфигурации RabbitMQ - PullRequest
0 голосов
/ 08 января 2019

Я пытаюсь продемонстрировать использование механизма кредитного потока RabbitMQ согласно блогу, указанному здесь: https://www.rabbitmq.com/blog/2015/10/06/new-credit-flow-settings-on-rabbitmq-3-5-5/

В рамках демонстрации я хочу показать, что RabbitMQ заблокирует издателю дальнейшую публикацию сообщений, если потребитель не сможет их обработать.

На стороне потребителя я сохраняю сообщение в базе данных. Я установил режим подтверждения RabbitMQ в РУЧНОЙ. Код на стороне потребителя EXPLICITLY подтверждает после того, как сообщение успешно сохраняется в базе данных.

Как часть моей демонстрации, я установил для параметра credit_flow_default_credit в файле rabbitmq.config значение 2.

Соответственно, мой файл rabbitmq.config выглядит так:

[
   {rabbit,[
        {loopback_users, []},
        {credit_flow_default_credit, {2,1}} 
     ]
   }     
].

Насколько я понимаю, если RabbitMQ не может обработать 2 сообщения, тогда 3-е сообщение, опубликованное издателем, должно быть заблокировано.

Чтобы добиться того, чего я хочу, я ЗАБЛОКИРУЮ таблицу в базе данных, чтобы потребитель не смог сохранить запись. В результате он также не сможет ПОДТВЕРЖДИТЬ.

Однако я не вижу, чтобы у издателя были какие-либо проблемы с публикацией сообщения, хотя оно уже опубликовало 2 сообщения. Почему RabbitMQ не должен блокировать дальнейшую публикацию сообщений?

Есть ли способ, которым я могу проверить rabbitmq.config из Spring AMQP? Я хочу убедиться, что credit_flow_default_credit действительно имеет значение 2.

1 Ответ

0 голосов
/ 08 января 2019

Нет; это собственность брокера; Java-клиент может выполнять только те действия, которые поддерживаются протоколом AMQP.

Я предлагаю вам задать вопросы о внутренностях RabbitMQ (например, почему вы не видите ожидаемого поведения) в группе Google rabbitmq-users, где активны инженеры RabbitMQ.

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

Тем не менее, вы должны продолжать спрашивать здесь о вещах, специфичных для Spring AMQP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...