java - jmsTemplate 在 Spring Boot 中不会自动初始化
问题描述
下面是我正在尝试将消息发送到 Queue 的以下 Spring Boot 应用程序,但它总是在jmsTemplate
. 每个 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";
}
}
}
应用程序属性
ibm.mq.queueManager=MYMGR
ibm.mq.channel=MYQUUE
ibm.mq.connName=MYHOST(1414)
ibm.mq.user=
ibm.mq.password=
聚甲醛
<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 类
推荐阅读
- javascript - 如果不单击多次,React 提交表单按钮将不起作用
- powershell - PowerShell 和 WinSCP 脚本检查 SFTP 远程目录中是否有超过 4 个文件
- reactjs - 添加 Onchange 时,MUI TextField 会破坏验证模式
- python-3.x - XML容错漂亮打印Python3
- google-bigquery - 在 BigQuery 中批量删除数据传输
- karate - 有没有办法在空手道中抓取浏览器的窗口句柄?
- legend - Common legend for plotting multipanel rasterplots
- python - 如何使用 python 从 csv 创建字典
- r - 如何使用 visreg 添加 R² 和斜率
- typescript - WebDataRocks 如果我在下载幻灯片时更改选项卡,下载将中止