The ListenerContainerFactoryBean
(as a top-level) abstraction in Spring AMQP, can be configured for several queues to consume:
public void setQueueNames(String... queueName) {
this.queueNames = queueName;
}
public void setQueues(Queue... queues) {
this.queues = queues;
}
Several hosts can be provided on the AbstractConnectionFactory
:
/**
* Set addresses for clustering.
* This property overrides the host+port properties if not empty.
* @param addresses list of addresses with form "host[:port],..."
*/
public synchronized void setAddresses(String addresses) {
But as you see all of them has to be in cluster and therefore all those queues must be mirrored on all those cluster members for fault-tolerant behavior of your solution.
Doesn't looks like the properties you show are related to Spring Boot auto-configuration somehow but here is the respective RabbitProperties
to investigate.
NOTE: there is not need to know an exchange if you just implement a consumer side. You always consume from the specific queue. An exchange is a matter of producer how to distribute and deliver a message you send.