2017-03-08 194 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){} 
相關問題