【问题标题】:Spring Boot JMS integrationSpring Boot JMS 集成
【发布时间】:2020-07-16 10:24:52
【问题描述】:

我正在通过Spring Boot JMS guide。这里JMSTemplatemain 方法中使用context.getBean 初始化。如何在 main 方法之外(即在单独的类中)初始化 JMSTemplate

【问题讨论】:

    标签: spring-boot activemq spring-jms


    【解决方案1】:

    您可以有一个单独的配置类来创建您的 jms 配置,如下所示:

    @Configuration
    public class JmsConfig {
    
    @Bean
    public MessageConverter messageConverter() {
      MappingJackson2MessageConverter converter = new MappingJackson2MessageConverter();
      converter.setTargetType(MessageType.TEXT);
      converter.setTypeIdPropertyName("_type");
      return converter;
     }
    }
    

    完成配置后,您可以从任何类中获取 JMSTemplate bean,例如 ;

    @Component
    public class HelloSender {
    
      private final JmsTemplate jmsTemplate;
    
       public HelloSender(JmsTemplate jmsTemplate) {
       this.jmsTemplate = jmsTemplate;
      }
    }
    

    在这里,您的 JMSTemplate bean 正在使用构造函数注入自动装配。

    【讨论】:

    • 不客气,请善待并点赞,以便对他人有用
    • 我投了赞成票,但收到了以下消息。感谢您的反馈!声望低于 15 人的投票会被记录,但不会更改公开显示的帖子得分。