J'ai défini hibernate.generate_statistics = true et dois maintenant enregistrer les mbeans pour pouvoir afficher les statistiques dans la console jmx. Je n'arrive pas à aller quelque part et cela ne semble pas être un problème si difficile. Peut-être que je fais des choses trop compliquées, mais en tout cas jusqu'à présent, je l'ai essayé:Activation des statistiques ehcache dans jboss 4.2.1
- Je copié EhCacheProvider et l'avait instancier une version étendue de CacheManager qui surcharge init() et a appelé ManagementService.registerMBeans (.. .) après l'initialisation. Le code s'est très bien passé jusqu'à l'appel effectif à registerMBeans (...) qui provoquerait l'échec de l'initialisation du provider avec une erreur générique (malheureusement je ne l'ai pas notée). Cette approche a été motivée par les méthodes utilisées en this liferay performance walkthrough.
- J'ai créé mon propre MBean avec une méthode de démarrage qui a exécuté un code similaire à this example of registering ehcache's jmx mbeans. Tout a semblé fonctionner correctement et mon mbean apparaît dans la console de jmx mais rien pour net.sf.ehcache. J'ai depuis mis à jour ehcache à 1.5 (nous utilisions 1.3, je ne sais pas si c'est spécifique à jboss 4.2.1 ou juste quelque chose que nous avons choisi) et nous avons changé pour utiliser le SingletonEhCacheProvider et essayer de saisir manuellement les statistiques au lieu de traitant de l'enregistrement de mbean. Cependant, cela ne s'est pas vraiment amélioré. si je l'appelle getInstance() le CacheManager qui est retourné a seulement une copie de StandardQueryCache, mais les journaux jboss montrent que beaucoup d'autres caches ont été initialisés
EDIT (un pour chacune des entités mises en cache dans notre application.): Eh bien J'ai compris une chose ... la connexion via JConsole révèle les statistiques. Je suppose que ManagementFactory.getPlatformMBeanServer() ne vous donne pas le même serveur mbean que jboss utilise. Quoi qu'il en soit, il semble que je rencontre un problème similaire lorsque j'ai essayé de collecter les statistiques manuellement, parce que je reçois tous les zéros même après avoir cliqué un peu sur mon application.