Symptoms
JSON
{"Level":"WARN","File":"BlockingQueueConsumer.java","Message":"Failed to declare queue: <queue_name>"}
This behavior is caused by a version and configuration mismatch between the application client's targeted profile/health check configuration (expecting RabbitMQ 3.13.x behavior) and the actual broker version (4.0.x).
RabbitMQ 4.0 introduces internal architectural changes to metadata handling, classic queue storage, and stricter argument checking. If the client application passes legacy arguments or expects a schema specific to 3.13.x during its passive declaration phase, the broker rejects the channel connection. This causes Spring’s BlockingQueueConsumer thread to terminate before it can establish a stable consumer link.
References