2017-03-08 72 views
0

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

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

在这种情况下,它的行为不像传统的监听者 - 只收到一条消息!正如我所期望的那样,一次不会涌入一条单一的信息。

但是,如果我改变方法定义成为

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

我接受所有的人都为列表。这从来没有发生过,在这种情况下唯一未知的是如何配置Solace队列。我可能不知道队列上是否有批处理设置?

+0

请分享你的Spring XML资源文件和代码段这样可以复制 –

回答

0

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

如:

jmsTemplate.convertAndSend(listOfMessages); 

似乎春天只允许在此列表中的第一个访问,如果你定义你的听众为:

public void onMessage(Message message){}