小编kew*_*lwz的帖子

在SpringBoot中@JmsListener如何以及何时被调用?

我是 SpringBoot 的新手。尝试构建一个简单的非 Web 流程,在其中侦听 MQ 队列并处理收到的消息。我尝试了各种方法来在 SB 中实现此目的,但不幸的是我无法调用 @JmsListener 方法。也没有错误,过程只是等待。

所有 MQ 队列详细信息都在 application.properties 中

我确实验证了队列中有消息,并且可以使用旧的 MQ 接收器方式检索它们。

我想知道 @JmsListener Annotation 方法如何以及何时被调用?我确实尝试创建一个 JmsListenerContainerFactory 并将其包含在注释参数中,但没有什么区别。

类似的例子很少,看起来很简单,但我就是无法让它工作。任何建议表示赞赏。谢谢。

SpringBoot主类

@SpringBootApplication
@EnableJms
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}
Run Code Online (Sandbox Code Playgroud)

MQListener 类

@Component
public class MQListener {
    @JmsListener(destination = "${mq.queueName}")
    public void receiveMessage(final Message message) throws JMSException{
        System.out.println("...Message Received...");
        String messageData = null;
        if(message instanceof TextMessage) {
            TextMessage textMessage = (TextMessage)message;
            messageData = textMessage.getText();
        }
    }
} …
Run Code Online (Sandbox Code Playgroud)

spring-jms spring-boot ibm-mq

4
推荐指数
1
解决办法
3万
查看次数

标签 统计

ibm-mq ×1

spring-boot ×1

spring-jms ×1