ActiveMQ非同步傳送訊息

2021-09-02 12:22:17 字數 749 閱讀 9433

非同步傳送

tcp://localhost:61616?jms.useasyncsend=true

從 activemq 5 開始可以控制非同步傳送流。也就是說,在受到 broker 的確認應答之前,生產者能夠傳送訊息給 broker 的最大資訊量。即使是非同步傳送訊息,生產者也是在收到 broker 的確認應答後才把下一條訊息傳送給 broker。當使用非同步傳送的時候,可以設定 jms.producerwindowsize(單位為位元組)屬性,當生產者中等待傳送的資訊量到達設定的值時,即使沒有收到 broker 的應答訊息,生產者同樣會把這些訊息發給 broker。如下面的示例設定:

tcp://localhost:61616?jms.useasyncsend=true&jms.producerwindowsize=1024000

單獨確認

在 activemq 5.2 中新增了乙個新的確認模式,這種確認模式是特定於 activemq 的,jms 規範暫時並不支援這種確認模式。這種確認模式由 ora.apache.activemq.activemqsession.individual_acknowledge 表示,用來確認乙個單獨的訊息。這中確認模式是相對於 session.client_acknowledge 的,在 client_acknowledge 模式下,呼叫訊息的 acknowledge() 方法會確認由此 session 消費的所有訊息,而在 individual_acknowledge 模式下,僅會確認呼叫 acknowledge() 方法的訊息。

ActiveMQ訊息傳送模型

無論採用哪種jms 元件,jms 支援兩種截然不同的訊息傳送模型 ptp 即點對點模型 和pub sub 即發布 訂閱模型 分別稱作 ptp domain 和pub sub domain。ptp 使用queue即佇列目標 訊息從乙個生產者傳送至乙個消費者。在此傳送模型中,目標是乙個佇列。訊息首先被傳...

ActiveMQ訊息傳送模型

無論採用哪種jms 元件,jms 支援兩種截然不同的訊息傳送模型 ptp 即點對點模型 和pub sub 即發布 訂閱模型 分別稱作 ptp domain 和pub sub domain。ptp 使用queue即佇列目標 訊息從乙個生產者傳送至乙個消費者。在此傳送模型中,目標是乙個佇列。訊息首先被傳...

activemq集合JMS處理非同步訊息

jms 傳送 public static void main string args throws exception session.commit session.close connection.close 原始碼 copy to clipboard列印?public static void m...