2016-08-19 61 views
1

我有一個單獨的成員,它有一個讀/寫數據庫的MapStore/Loader和一個添加EntryAddedListener監聽器的客戶端。hazelcast maploader listener

如果成員退回,我會看到添加了入口的偵聽器,因爲MapLoader會從數據庫中重新加載數據。

然而,這向客戶端建議添加新條目,而事實上,由於節點引導,它們僅被「添加」。

基本上我不希望這些偵聽器因MapLoader引導映射而被解僱 - 他們應該只在之後被解僱。

如何阻止這些MapLoader事件觸發EntryAdded偵聽器?

+0

是否有任何代碼示例可以幫助其他用戶瞭解問題? – Epu

回答

2

沒有辦法做到這一點。 使用MapLoader加載條目基本上是將條目添加到地圖中。

你可以做的是在地圖加載後添加這些監聽器。 如果您的loadingMODE設置爲EAGER,則很容易確定加載完成的時間。

爲了等待加載完成,您可以調用map.size()操作。完成後,地圖將完全填充。

+0

謝謝。是的,它已經被設置爲渴望成員。是否有可能確定地圖是否完全從客戶端加載? – hklf

+0

爲了等待加載完成,您可以調用map.size()操作。完成後,地圖將完全填充。 –

+0

所以從客戶端的角度來看,我將不得不刪除客戶端斷開連接事件回調的監聽器,然後等待客戶端重新連接,但還需要調用size(),然後重新添加監聽器? – hklf