gpt4 book ai didi

java - JMSListener 注释无法与 REST 服务一起使用

转载 作者:行者123 更新时间:2023-12-01 16:17:25 25 4
gpt4 key购买 nike

我正在使用“Spring Boot - 2.1.5.RELEASE”和“Spring 框架 - 5.1.7.RELEASE”。JMS 监听器注释未从 MQ 队列中选取消息。我的 IntelliJ IDEA 中也没有滚动任何错误日志。关于我的项目 - 我公开了一个 REST 服务,该服务从 MQ 发送和接收消息(使用 JMSTemplate 注释)。到目前为止它正在发挥作用。现在我必须添加另一个应该监听队列的类。因此添加了 @JMSListener 注释,它不选择任何消息。任何见解都会非常有帮助。

pom 具有以下指定的依赖项。

<dependency>
<groupId>com.ibm.mq</groupId>
<artifactId>mq-jms-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
<groupId>com.ibm.mq</groupId>
<artifactId>com.ibm.mq.allclient</artifactId>
<version>9.1.4.0</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jms</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
</dependency>

该类具有以下指定方法。

import org.springframework.jms.annotation.JmsListener;
@Component
public class PickMyMessage {
@JmsListener(destination = "IN",containerFactory = "myFactory")
public void pullMyMessaage(String message){
System.out.println("Message is pulled..");
}
}

我的主应用程序有 @EnableJMS 注释。在我的 application.yml 文件中,我给出了以下信息。

ibm:
mq:
channel: MY.APP.SVRCONN
connName: 192.168.0.1(1415)
password: Pswd
queueManager: QM01
user: appsrv

我的 Bean 类配置是

我的 JMS 连接工厂如下。

@Bean
public JmsListenerContainerFactory<?> myFactory(ConnectionFactory connectionFactory,
DefaultJmsListenerContainerFactoryConfigurer configurer) {
DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
configurer.configure(factory, connectionFactory);
}

不知道我还缺少什么。任何见解都会非常有帮助。

如果我创建任何简单的演示项目,而不是我现有的项目,它就会按预期工作。

最佳答案

PickMyMessage 类不是 Spring bean,这就是 Spring 忽略它的原因。将其声明为 @Bean@Component

可能还有更多问题。但这是第一个需要解决的问题。

关于java - JMSListener 注释无法与 REST 服务一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62366505/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com