J'utilise Apache JCS dans notre application pour mettre en mémoire cache les données couramment utilisées au démarrage de l'application. Cependant, si certaines données du cache ne sont pas utilisées avant leur temps d'inactivité, je souhaite recharger manuellement cette valeur à partir de la base de données. Donc, fondamentalement je veux renverser les événements JCS de telle sorte que mon programme java est conscient des instants lorsqu'une clé est retirée du cache, à cause de la clé qui atteint son temps d'inactivité.Substituer les événements JCS
1
A
Répondre
0
Créez une classe abstraite qui enregistre les événements que vous souhaitez capturer. Cela fonctionne pour moi de capturer les deux événements.
private static final Set<Integer> EVENTS = new HashSet<Integer>();
{
EVENTS.add(IElementEventHandler.ELEMENT_EVENT_EXCEEDED_IDLETIME_BACKGROUND);
EVENTS.add(IElementEventHandler.ELEMENT_EVENT_EXCEEDED_MAXLIFE_BACKGROUND);
}
@Override
public synchronized void handleElementEvent(IElementEvent event) {
// Check for element expiration based on EVENTS.
LOG.debug("Handling event of type : " + event.getElementEvent() + ".");
if (EVENTS.contains(event.getElementEvent())) {
ElementEvent elementEvent = (ElementEvent)event;
CacheElement element = (CacheElement)elementEvent.getSource();
handleEvent(element);
}
}
// Abstract method to handle events
protected abstract void handleEvent(CacheElement element);
}
Ajouter ce gestionnaire d'événement abstrait à la définition de l'usine de JCS comme suit
JCS jcs = JCSCacheFactory.getCacheInstance(regionName);
IElementAttributes attributes = jcs.getDefaultElementAttributes();
attributes.addElementEventHandler(handler);
jcs.setDefaultElementAttributes(attributes);
Questions connexes
- 1. Substituer les espaces de noms dans gSOAP
- 2. Substituer la charge utile d'Astoria?
- 3. Méthode pour substituer l'étranger pour les caractères anglais en Java?
- 4. Substituer glisser et déposer pour l'extension Shell
- 5. Chaînage les événements
- 6. annuler les événements souris
- 7. IoC et les événements
- 8. Événements de minuterie et d'animation qui troncent les événements TouchesEnded
- 9. iphone: problème avec les événements
- 10. Les événements s'accumulent pendant CashDrawer.WaitForDrawerClose
- 11. C# Gérer les événements Windows
- 12. Transfert/relayer les événements .NET
- 13. Comprendre les événements de domaine
- 14. événements pour les éléments imbriqués
- 15. Comment améliorer les événements PropertyChanged?
- 16. Les événements personnalisés d'une interface remplacent-ils les événements Form par défaut?
- 17. Substituer les noms d'accesseur de propriété dans Objective-C avec @synthesize
- 18. Dans iPhone UIImageView, quelle méthode substituer pour la variable d'instance init?
- 19. Quelles sont les différences entre les délégués et les événements?
- 20. Les événements d'incendie sélectivement en C#
- 21. Comment tester les événements du clavier jQuery?
- 22. Référence répertoriant les événements JavaScript disponibles?
- 23. Flex DateChooser événements pour les jours individuels?
- 24. Les événements Silverlight DataGrid Checkbox sont-ils?
- 25. Comment fonctionnent les événements dans Java Swing?
- 26. SQL pour compter les événements par date
- 27. Quand utiliser les événements C# personnalisés
- 28. Écoute de tous les événements JInternalFrame - Java
- 29. Problème avec les événements Loader ActionScript
- 30. Difficulté avec les événements PostBack GridView
Remplacer la méthode handleEvent dans IEventListener. Reportez-vous à: http://stackoverflow.com/questions/4473479/jcs-notify-on-expire-remove – Keshi