我正在尝试使用JMS使用来自三个IBM MQ队列的消息。
因此,在我的Spring Boot应用程序中有三个@JmsListener。
我对此表示怀疑,如果所有消费者都可以从各自的队列中消费,他们将如何表现。
提前感谢:)
在JmsListener批注上,您可以设置并发行为:
并发
公共抽象字符串并发
侦听器的并发限制,如果有的话。覆盖价值 由用于创建侦听器的容器工厂定义 容器。并发限制可以是“上下”字符串-对于 例如“ 5-10”(或简单的上限字符串),例如“ 10”, 在这种情况下,下限将为1。
请注意,基础容器可能支持也可能不支持全部 特征。例如,在这种情况下,它可能无法缩放 仅使用上限。
每个侦听器在其自己的线程中运行。
您可以通过打印收到的消息来轻松测试。这将输出运行它的线程。例如:
2020-06-06 11:26:54.339 INFO 23404 --- [enerContainer-1] c.e.d.ShippingService : Hello World!
线程名称为[enerContainer-1]
请阅读有关Spring和JMS https://docs.spring.io/spring/docs/current/spring-framework-reference/integration.html#jms-receiving的文档中的更多信息>