开发者社区> 问答> 正文

请高手指点,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 473 0
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
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载

相关实验场景

更多