Je construis une application Java EE et je souhaite utiliser l'annotation @CacheResult de JSR107 pour ajouter "de façon transparente" de la mémoire cache à ma couche de service. Ceci est ma première application « complet » Java EE, je travaille habituellement dans le traitement des annotations ont été printemps semble beaucoup plus facile;)Wildfly 8.1 + EHCache + Les annotations ne fonctionnent pas
Alors, voici ma pile logicielle:
- wildfly 8.1
- liste item
- EHCache 2.8
- EHCache-JCache
- JSR 107 traitement de mise en œuvre de référence + annotation (https://github.com/jsr107/RI/tree/master/cache-annotations-ri)
... et c'est la mise en page de mon oreille:
- la racine contient quelques bocaux de haricots EJB/CDI
- /lib contient toutes les bibliothèques requises
- un des grains à l'intérieur d'un des pots-niveau-racine contient quelques méthodes annotées avec @CacheResult, les paramètres de la méthode sont une chaîne
Mon problème: pas de mise en cache se produit;)
Des questions concrètes:
- Quelqu'un at-il jamais eu ici la pile logicielle j'utilise pour travailler ensemble avec succès pour effectuer la mise en cache?
- Y at-il un moyen pour moi d'obtenir plus d'informations de débogage sur ce qui se passe en interne pendant le traitement d'intercepteur? J'ai essayé différentes configurations d'enregistreurs et j'ai creusé à travers les sources des frameworks que j'utilise, mais j'ai l'impression de manquer l'essentiel.
Merci à l'avance
Sven
Mise à jour
Il fonctionne si j'ajoute explicitement @Interceptors (CacheResultInterceptor.class) à la fève de service. Cependant, mes propres intercepteurs (dans le même fichier jar) n'ont pas besoin d'être déclarés de cette façon, le type de liaison d'intercepteur correspondant suffit. Y at-il une différence si j'essaie d'utiliser des intercepteurs qui résident dans un pot externe?