使用ActiveMQ过程中,定义消息生产者:
package com.sxd.jms.producer; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jms.core.JmsMessagingTemplate; import org.springframework.stereotype.Service; import javax.jms.Destination; @Service("producer") public class Producer1 { @Autowired // 也可以注入JmsTemplate,JmsMessagingTemplate对JmsTemplate进行了封装 private JmsMessagingTemplate jmsTemplate; // 发送消息,destination是发送到的队列,message是待发送的消息 public void sendMessage(Destination destination, final String message){ jmsTemplate.convertAndSend(destination, message); } }
但是IDE报错:
启动编译,依旧是报错:
Description: Field jmsTemplate in com.sxd.jms.producer.Producer1 required a bean of type ‘org.springframework.jms.core.JmsMessagingTemplate‘ that could not be found. - Bean method ‘jmsMessagingTemplate‘ not loaded because Ancestor org.springframework.boot.autoconfigure.jms.JmsAutoConfiguration did not match Action: Consider revisiting the conditions above or defining a bean of type ‘org.springframework.jms.core.JmsMessagingTemplate‘ in your configuration.
解决方式:
因为application.properties中配置ActiveMQ的相关配置后面有空格:
把配置后面的空格去掉。保存,重新编译。
解决了!!!!
【ActiveMQ】消息生产者自动注入报错:Could not autowire. No beans of 'JmsMessagingTemplate' type found
时间: 2024-10-02 18:19:33