когда умирает канал AMQP / RabbitMQ без подключений?

У меня есть простая тестовая программа RabbitMQ, которая случайным образом помещает сообщения в очередь, а другая их читает, все с использованием Spring-AMQP. Если потребитель умирает (для пример убийства процесса без возможности закрыть его соединение или канал), любые сообщения, которые он не подтвердил, по-видимому, остаются неподтвержденными навсегда.

Я видел ряд ссылок (например, этот вопрос ), в которых говорится, что канал умирает, когда у него нет подключений, и что оставшиеся незапакованные сообщения будут доставлены повторно. Я не вижу такого поведения - вместо этого я получаю растущий список каналов, помеченных как IDLE, и растущий список подключений, помеченных как работающие, но без активности.

Требуется ли какая-то конфигурация, чтобы заметить, что соединения не работают после того, как процесс был убит?

РЕДАКТИРОВАТЬ: Я запускал сервер rabbitmq внутри виртуальной машины VirtualBox, которая видимо не справляется с мертвым инбо и правильно подключать через NAT. Это прекрасно работает с сервером mq, работающим непосредственно на физическом хосте.

9
задан Community 23 May 2017 в 10:33
поделиться