2017-05-03 45 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- –

相关问题