Spring 的@JmsListener 仅从 Solace 队列接收到一条消息

Spring's @JmsListener only receiving one message from Solace queue

我刚刚使用 Spring 的 @JmsListener 配置了一个侦听器,但是当我使用单个方法参数时,我只从队列中收到一条消息。

@JmsListener(...)
public void onMessage(Message message)

在这种情况下,它的行为不像传统的侦听器 - 只收到一条消息!不像我预期的那样一次一条地涌入单个消息。

但是,如果我将方法定义更改为

@JmsListener(...)
public void onMessage(List<Message> messages)

我收到的都是一份清单。这在以前从未发生过,在这种情况下唯一未知的是 Solace 队列是如何配置的。队列上是否有我可能不知道的批处理设置?

原来消息实际上是作为列表发送的!

如:

jmsTemplate.convertAndSend(listOfMessages);

如果您将侦听器定义为:

,似乎 Spring 只允许访问此列表中的第一个
public void onMessage(Message message){}