RabbitMQ: чистое отключение соединения;причина: попытка использовать закрытый канал - PullRequest
0 голосов
/ 25 ноября 2018

Я полагаюсь на службу CloudAMQP и мне нужно иметь возможность поддерживать сообщения размером до 10 мегабайт:

1. Map<String, Object> params = new HashMap<>();
2. params.put("x-ha-policy", "all");
3. params.put("x-max-length-bytes", 10_000_000);
4. channel.queueDeclare(messageQueueName, true, false, false, params);

Моя проблема заключается в том, что всякий раз, когда строка 3 не закомментирована, очередь выдаетисключение:

Caused by: com.rabbitmq.client.ShutdownSignalException: 
channel error; reason: {#method<channel.close>(reply-code=406,
reply-text=PRECONDITION_FAILED - 
inequivalent arg 'x-max-length-bytes' for queue 'someQueueName' 
in vhost 'yzscezrk': received none but current is the value '1000000'
of type 'signedint

Что я здесь не так делаю?

1 Ответ

0 голосов
/ 25 ноября 2018

PRECONDITION_FAILED Означает, что у вас уже объявлена ​​очередь, и вы пытаетесь создать ту же очередь с другими параметрами.

В очереди уже есть параметр x-max-length-bytes, и, скорее всего, вы пытаетесьчтобы изменить его.

Вы можете удалить очередь (вы потеряете сообщения) и попытаться создать ее заново с нужными вам параметрами

...