簡體   English   中英

如何將多個消息一起傳遞到ActiveMQ中的偵聽器?

[英]How to deliver multiple messages together to the Listener in ActiveMQ?

我希望通過activemq將100條消息一起發送給消費者,但同時生產者將一次生成一條消息。

我之所以這樣想,是因為我不想處理傳遞時單獨處理每條消息的開銷,而是想在傳遞時進行批量處理。

是否可以通過ActiveMQ實現此目標,或者我應該編寫自己的修改以實現此目標。

ActiveMQ是JMS 1.1客戶端/代理實現,因此沒有API可以批量分發消息,異步偵聽器一次分發它們。 盡管客戶端確實預取了多個消息,所以使用異步偵聽器處理消息的開銷非常低。

您可以通過將每個消息放入緩沖區並僅在緩沖區包含N條消息時進行處理來實現您的目標。 為了使其正常工作,您需要使用一種確認模式,例如CLIENT_ACKNOWLEDGE,它允許您在處理消息之前不確認緩沖區中的消息。 這樣,如果您的客戶端崩潰時在其內存中存有一些消息,則在客戶端恢復時將重新發送它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM