2 Answers2

1

@Gary Russell Thanks it worked well. another example.

public DirectExchange exchange(RabbitAdmin rabbitAdmin) {
    DirectExchange directExchange = new DirectExchange("exchangeName", true, false);
    rabbitAdmin.declareExchange(directExchange);
    for (int num = 1; num <= 20; num++) {
        Queue queue = new Queue("queueName" + num, true, false, false, null);
        rabbitAdmin.declareQueue(queue);
        rabbitAdmin.declareBinding(BindingBuilder.bind(queue).to(directExchange).with("routingKey" + num));
    }

    return directExchange;
}
0

Use RabbitAdmin.declareQueue() in a loop.

    List<Queue> queues = new ArrayList<>();

    @Bean
    public ApplicationRunner runner(RabbitAdmin admin) {
        return args -> this.queues.forEach(queue -> admin.declareQueue(queue)); 
    }
Gary Russell
  • 166,535
  • 14
  • 146
  • 179