开发者社区 问答 正文

请高手指点,spring 配置类中相同类型的template配置问题 配置报错 

在一个@Configuration的配置类中, 因为要有不同的队列服务器(可以看成不同的数据库),所有有不同的工厂类, 然后产生不同的template, 如下, 但是会报错: No unique bean of type [org.springframework.amqp.rabbit.core.RabbitTemplate] is defined: expected single matching bean but found 2: [rabbitTemplate_UTS, rabbitTemplate_HOT]
请问有什么方法区分出两个,不报上面的错?(如果是类, 可以用@Resource("name")来区分)
@Bean
public RabbitTemplate rabbitTemplate_UTS() { RabbitTemplate template = new RabbitTemplate(connectionFactory_UTS()); template.setMessageConverter(jsonMessageConverter()); configureRabbitTemplate(template); return template; }

@Bean  public RabbitTemplate rabbitTemplate_HOT() { RabbitTemplate template = new RabbitTemplate(connectionFactory_HOT()); template.setMessageConverter(jsonMessageConverter()); configureRabbitTemplate(template); return template; }

展开
收起
kun坤 2020-05-31 18:11:38 501 分享 版权
1 条回答
写回答
取消 提交回答
  • 没人理啊######@Bean 不能带 id 或 name 参数么######

    public @interface Bean { public abstract String[] name();

    public abstract Autowire autowire();

    public abstract String initMethod();

    public abstract String destroyMethod(); }

    ###### 同样可以带name 参数的 , 可以 试一下

    ######

    引用来自“panmingguang”的答案

    同样可以带name 参数的 , 可以 试一下
    非常感谢, 我以前是name写的方式不对, 用@Bean(name="template")就可以了
    2020-05-31 18:11:42
    赞同 展开评论