0
使用版本3.6.1,为什么我们对put和putTransient在地图监听器方面有不同的行为(添加了.putTransient触发器,并更新了.put触发器)?为什么Hazelcast IMap.putTransient触发EntryAddedListener?
public void testNoDelta() {
String str = "world";
String key = "hello";
map.putTransient(key, str, 1000, TimeUnit.MILLISECONDS);
map.putTransient(key, str, 1000, TimeUnit.MILLISECONDS);
map.putTransient(key, str, 1000, TimeUnit.MILLISECONDS);
map.putTransient(key, str, 1000, TimeUnit.MILLISECONDS);
map.put(key, str);
map.put(key, str);
map.put(key, str);
map.put(key, str);
}
你是否也得到了'EVICTED' /'EXPIRED'事件? –
我没有看到任何被驱逐或过期的事件。 – hklf
这很好,它只是帮助诊断的一种方式,但您也需要倾听这些事件以获取它们。这些将有助于验证的行为是当你执行'put'时入口是否已经存在。如果你看过一个'EVICTED',那么它已经被删除,如果你还没有看到'EVICTED'(但是总体上得到它们),那么最有可能的是那个入口。如果您知道条目是否存在,您可以分别知道是否期待“UPDATED”或“ADDED”事件。 –