java - Spring Boot 中的 MessageListener 实现不起作用
问题描述
我正在尝试在 Spring-Boot 应用程序中实现一个实现 MessageListener 的 JMS Consumer,但它似乎不起作用。
我不想使用@JmsListener,因为我需要访问我的自定义任务执行器才能在 weblogic 上以多线程方式运行消费者。
为达到这个。
我实现了如下消费者:
public class MyJmsListener implements MessageListener {
@Override
public void onMessage(Message message) {
if (message instanceof TextMessage) {
try {
String text = ((TextMessage) message).getText();
System.out.println("received: " + text);
} catch (JMSException e) {
e.printStackTrace();
}
}
}
}
应用配置
@Bean
public MessageListenerContainer listenerContainer() {
DefaultMessageListenerContainer container = new DefaultMessageListenerContainer();
container.setConnectionFactory(connectionFactory());
container.setDestinationName(QUEUE_NAME);
container.setMessageListener(new MyJmsListener());
return container;
}
但这在 Spring-Boot 中不起作用。有人可以告诉这里有什么问题吗?
解决方案
推荐阅读
- swift - Foundation - 什么是区域设置的 collatorIdentifier?
- spring-boot - 如何在 cpanel 上托管 Spring Boot 应用程序?
- javascript - Firebase 数据库参考最初不更新
- python - 如何在 celery 任务中获取烧瓶请求上下文?
- c - 可以在 C 中处理不同输入形式(int 和 str)的程序
- python - PySpark 空值使用中位数和均值估算,能够处理 pyspark 数据框中的非数字列
- android - 从 URL 加载 KML 文件并添加到地图(Kotlin,Android)
- sql - Hive 如何订购编号?
- android - android中的设备管理员可以安装软件包吗?
- c - 如何在 C 中正确地 fscanf txt 文件