【发布时间】:2017-03-09 10:38:02
【问题描述】:
我有一个使用 spring-rabbit 的 Spring(启动)应用程序,我根据需要创建绑定 bean,如下所示:
导入 org.springframework.amqp.core.*; 导入 org.springframework.beans.factory.annotation.Value; 导入 org.springframework.context.annotation.Bean; 导入 org.springframework.context.annotation.Configuration; @配置 公共类队列绑定{ // 第一个绑定 @豆角,扁豆 公共队列 firstQueue(@Value("${rabbitmq.first.queue}") String queueName) { 返回新队列(队列名称); } @豆角,扁豆 public FanoutExchange firstExchange(@Value("${rabbitmq.first.exchange}") String exchangeName) { 返回新的 FanoutExchange(exchangeName); } @豆角,扁豆 公共绑定 firstBinding(队列 firstQueue,FanoutExchange firstExchange){ 返回 BindingBuilder.bind(firstQueue).to(firstExchange); } // 第二次绑定 @豆角,扁豆 公共队列 secondQueue(@Value("${rabbitmq.second.queue}") String queueName) { 返回新队列(队列名称); } @豆角,扁豆 public FanoutExchange secondExchange(@Value("${rabbitmq.second.exchange}") String exchangeName) { 返回新的 FanoutExchange(exchangeName); } @豆角,扁豆 公共绑定 secondBinding(队列 secondQueue,FanoutExchange secondExchange){ 返回 BindingBuilder.bind(secondQueue).to(secondExchange); } }我遇到的问题是每 3 个 bean 只有两条信息,队列名称和交换名称。
有没有办法在上下文中添加任意数量的 bean,而不是复制和粘贴一堆 @Bean 方法?我想要类似“对于此列表中的每个名称,使用此连接添加这三个 bean。”
【问题讨论】: