En utilisant la version 3.6.1, pourquoi avons-nous un comportement différent pour put et putTransient par rapport aux écouteurs de carte (les incendies .putTransient ont été ajoutés, et les incendies .put ont-ils été mis à jour)?Pourquoi Hazelcast IMap.putTransient déclenche-t-il l'entrée 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);
}
Recevez-vous aussi des événements 'EVICTED' /' EXPIRED'? –
Je ne vois aucun événement expulsé ou expiré. – hklf
C'est bien, c'est juste un moyen d'aider au diagnostic, mais vous devez aussi être à l'écoute de ces événements pour les obtenir. Le comportement que cela aiderait à valider est de savoir si l'entrée est déjà là quand vous faites le 'put'; Si vous avez vu un 'EVICTED' alors il a été enlevé et si vous n'avez pas encore vu un' EVICTED' (mais obtenez-les en général), alors l'entrée est probablement là. Si vous savez si l'entrée est là ou non, vous pouvez savoir si vous attendez un événement 'UPDATED' ou' ADDED' respectivement. –