我是 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)