Вы можете сделать это, используя что-то вроде JConsole или JVisualVM, как только вы сконфигурируете свой сервер приложений для открытия порта JMX. Вы не упоминаете, какой сервер приложений вы используете, но для Tomcat это описано здесь: http://tomcat.apache.org/tomcat-5.5-doc/monitoring.html . После подключения к JConsole Tomcat предоставляет MBean-компонент, содержащий информацию о сеансе, но опять же, это зависит от того, какой контейнер вы используете.
To track the sessions you could use an HttpSessionListener . If you want to expose the active sessions via JMX, you could register a mbean and call it from other applications(see JMX documentation).
JBoss уже предоставляет количество активных сеансов через JMX, но только для всего сервера, а не для каждого веб-приложения. Если у вас используется только одно веб-приложение, это должно быть для вас нормально.
Перейдите в консоль JMX на порт 8080 и найдите запись с именем host = localhost, path = /, type = Manager
. Внутри вы найдете запись для количества активных сеансов.
Ответ, данный skaffman, весьма полезен, но я бы добавил, что JBoss может предоставлять вам сеансы для каждого веб-приложения, ища:
host = localhost, path = / your_webapp_context, type = Manager
(замените your_webapp_context контекстом интересующего вас веб-приложения ...)