2016-03-01 89 views
0

這是新手問題,我敢肯定,但使用蚊子我如何訂閱保留的消息,並保證我只收到消息一次?我有一個基於Paho的java訂閱者,並且在測試我注意到的是,如果我的訂閱者被關閉,然後重新啓動,它將收到它在收到之前收到的一些相同的消息。 (通常它會永遠保持,但事情發生。)而且用戶只收到一次消息是至關重要的。 (對於我的用例,只有一個用戶。)與Mosquitto經紀人,如何訂閱一個主題,並得到任何消息只是一次

是否有內置於Mosquitto的內容提供這種機制,或者這是我必須構建到我的數據模式和檢索過程?

我發現有一種按主題刪除郵件的方法(https://lists.launchpad.net/mosquitto-users/msg00067.html),但現在我的主題是非常通用的[公司]/[MAC地址]/[主題x],並且可能有兩個單獨的郵件排隊與相同的主題,我假設我是否發送一個空的消息給一個給定的主題,我最終會刪除所有主題的消息。

在此先感謝您的幫助。

回答

1

設置QoS級別爲2。

QoS水平-2: 恰好一次遞送。 這是控制消息的最高級別,也是本地存儲消息的最高級別。 正好一次是至少一次和至多一次交貨保證的組合。

相關問題