jmsTemplate 不会在 Spring Boot 中自动初始化

问题描述

下面是我下面的 Spring Boot 应用程序,我试图将消息发送到队列,但它总是在 jmsTemplate 上抛出 NULL。每个 Spring 文档 jmsTemplate 应该自动配置,但它没有发生。这是我在这里做错了吗?

服务类


@Service
@EnableJms
public class CTCall {
       @Autowired
    private JmsTemplate jmsTemplate; //THIS ALWAYS Throw NULL


    public String send() {
        try {
            System.out.println("jmsTemplate:  " + jmsTemplate);
            jmsTemplate.convertAndSend("MYQUEUE","Hello World!");
            return "OK";
        } catch (Exception ex) {
            ex.printStackTrace();
            return "FAIL";
        }
    }
}

application.properties

ibm.mq.queueManager=MYMGR
ibm.mq.channel=MYQUUE
ibm.mq.connName=MYHOST(1414)
ibm.mq.user=
ibm.mq.password=

POM

  <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
        </dependency>
        <dependency>
            <groupId>com.ibm.mq</groupId>
            <artifactId>mq-jms-spring-boot-starter</artifactId>
            <version>2.0.0</version>
        </dependency>

解决方法

您必须将@EnableJms 添加到@SpringBootApplication 或@Configuration 类

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...