2017-05-03 85 views
0

使用3.8.1。即使放置了相同的鍵和值,更新的事件也會被觸發?爲什麼?即使值沒有變化,Hazelcast也會觸發聽衆更新事件

map.addEntryListener(new EntryUpdatedListener() { 
     @Override 
     public void entryUpdated(EntryEvent event) { 
      System.out.println("Updated listener fired oldvalue: " + event.getOldValue() + ", newvalue: " + event.getValue()); 
     } 
    }, true); 

map.put("hello", "world"); 
map.put("hello", "world"); 

輸出:

更新監聽器發射OLDVALUE:世界,NEWVALUE:世界

更新監聽器發射OLDVALUE:世界,NEWVALUE:世界

回答

1

一個新值由put提供。它可能與原來的字節相同。平等與身份不一樣。 這是一個很好的區別,最終這是一個實施決定。 Aso請注意,某些應用程序put與啓動觸發樣式處理的方式具有相同的值。

+0

參見http://docs.hazelcast.org/docs/3.8/javadoc/com/hazelcast/core/IMap.html#replace-K-V-V- –

相關問題