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){}
我刚刚使用 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){}