J'essaie de définir TTL sur un enregistrement dans IMap qui est chargé à partir de cassandra mapStore. Pour ce faire, j'ai implémenté un listener d'événements EntryAdded et EntryUpdated pour l'IMap. Mais les méthodes ne sont pas invoquées quand je lis les données de mapstore et les remets à noisetier.Hazelcast 3.8 Les listeurs d'entrées EntryAdded ou EntryUpdated ne sont PAS invoqués lorsqu'une entrée est chargée à partir de maptsore
Mes attentes sont-elles erronées? Si oui, quelles sont les solutions possibles pour y parvenir?
Merci
Salut, merci pour l'aide.J'ai découvert qu'il y a un problème avec l'approche que vous avez mentionné.Si je fais un Map.containsKey (key) alors la méthode MapLoader.load() est déclenchée et charge l'enregistrement dans hazelcast à partir de mapstore sans ttl. Cela échoue le but que j'essaie d'atteindre. Je n'ai pas non plus implémenté loadAllkeys. Hazelcast version 3.8 – user2966021
Ce que je voulais dire pour "_cache-aside_", c'est que _IMAP_ n'utilise pas de chargeur de cartes. Votre code fait IMap.containsKey, si le résultat est faux, votre code se charge à partir de Cassandra, puis fait un IMap.put. Puis, à ce stade, la clé est dans l'IMap de toute façon, donc ils peuvent faire IMap.get –
On dirait que ce comportement de chargeur de carte pourrait être amélioré, https://github.com/hazelcast/hazelcast/issues/11342. –