2016-12-01 19 views
0

讓我說我有一個Android應用程序安裝在應用程序和用戶訂閱了很多主題。現在,如果用戶卸載應用程序如何卸載客戶端時如何從代理中刪除所有用戶特定的訂閱主題?

我怎樣才能從經紀中刪除所有用戶特定的訂閱主題? 我可以取消訂閱paho JS客戶端使用paho Java客戶端訂閱主題嗎?

在JS方面我這是如何連接和訂閱我的經紀人

client.connect({ 
    userName:user, 
    password:password, 
    onSuccess:onConnect, 
    onFailure:onFailure, 
    'willMessage': willMessage 
    }); 

var onConnect = function(frame) { 
    client.subscribe("user/"+clientId+"/msg"); 
}; 
+0

我們在這裏需要更多的上下文,您是否使用持久訂閱? – hardillb

+0

這並沒有什麼幫助。你在連接上使用cleanSession標誌嗎?或者你的意思是乾淨的留言? – hardillb

+0

連接時沒有cleanSession。它不是一個保留消息 – manish

回答

1

OK,如果不設置cleanSession爲false,訂閱不應該被堅持。

但它聽起來像你正在尋找類似於蚊子的persistent_client_expiration選項的東西,說明在客戶端最後一次連接之後要保留這些信息的時間。

不確定rabbitmq是否有類似的選項

+0

如果我卸載我的客戶端會發生什麼?該客戶特定的主題將保留在經紀商那裏嗎? – manish

+0

我編輯了答案,因爲它有一個錯誤,但是,如果您將cleanSession設置爲false,那麼如果該客戶端永遠不會再次登錄,給定clientId的訂閱將永久保存。 mosquitto選項通過在不使用的情況下過期來處理。 – hardillb

+0

那麼如何處理這個問題的機會是,客戶端將簡單地卸載應用程序,所有訂閱的主題將保持在經紀商那裏,並且會增加經紀人表現的負擔,因爲會有越來越多的未使用主題? – manish

相關問題