L'obtention de la Session Active en compte avec JMX (Java Management Extensions) de l'API
Je suis en train d'utiliser l'API JMX pour obtenir de la session active en compte pour une application web.
- Est-il possible d'utiliser l'API JMX pour obtenir ce genre d'information?
- Si oui, quelle est la fiabilité serait-il?
- Un exemple de code sur la façon d'obtenir ce fait?
J'ai lu JMX et le tutoriel de la documentation, mais ils me donnent l'aperçu de ce que la technologie est. Je ne peux pas identifier à ce dont j'ai besoin, encore.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez accomplir cela en utilisant quelque chose comme JConsole ou JVisualVM une fois que vous configurez votre serveur d'application pour exposer un port JMX. Vous ne faites pas mention de l'application de serveur que vous utilisez, mais pour Tomcat, il est décrit ici: http://tomcat.apache.org/tomcat-5.5-doc/monitoring.html. Une fois que vous vous connectez avec JConsole, Tomcat expose un MBean qui a des informations de session, mais encore une fois ça dépend du récipient que vous utilisez.
Catalina:type=Manager,context=/NAME_OF_APP,host=localhost
Pour suivre les séances, vous pouvez utiliser un HttpSessionListener . Si vous voulez exposer les sessions actives via JMX, vous pouvez enregistrer un mbean et de l'appeler à partir d'autres applications(voir JMX documentation).
JBoss déjà expose le numéro de la session active via JMX, mais uniquement à travers l'ensemble du serveur, et non par webapp. Si vous avez seulement une webapp utilisé, alors que ce devrait être OK pour vous.
Aller la JMX console sur le port 8080, et recherchez l'entrée appelée
host=localhost,path=/,type=Manager
. À l'intérieur que vous trouverez une entrée pour le numéro de la session active.La réponse donnée par skaffman est tout à fait utile, mais je voudrais modifier, JBoss est en mesure de vous donner les sessions par webapp par la recherche pour:
host=localhost,path=/your_webapp_context,type=Gestionnaire de
(remplacer your_webapp_context avec le contexte de l'application web qui vous intéresse...)