持久傳遞與非持久傳遞之間有何區別?

 常見問題 > 持久性問題 > 持久傳遞與非持久傳遞之間有何區別

持久傳遞與非持久傳遞之間有何區別?

ActiveMQ Classic 支援持久傳遞和非持久傳遞。根據 JMS 規範,預設傳遞模式為持久性。持久性標誌在 MessageProducer 上為所有訊息設定,使用 setDeliveryMode。它也可以使用 send 方法的長格式為每個訊息指定。持久性是個別訊息的屬性。

主要區別在於,如果您使用持久傳遞,訊息會保存到磁碟/資料庫,以便它們在 Broker 重新啟動後仍然存在。當使用非持久傳遞時,如果您關閉 Broker,則會遺失所有傳輸中的訊息。

這種差異的影響是,持久訊息傳遞通常比非持久傳遞慢,尤其是在不使用非同步傳送時。

另請參閱

Apache、ActiveMQ、Apache ActiveMQ、Apache 羽毛標誌和 Apache ActiveMQ 專案標誌是 The Apache Software Foundation 的商標。版權所有 © 2024,The Apache Software Foundation。根據 Apache License 2.0 授權。