Index: lams_build/lib/lams/lams.jar =================================================================== diff -u -rec25cec0aae2211ee71688230aaa0dfd309018ad -r1479d78ebaa6469134e52f3344edcad3ffd082be Binary files differ Index: lams_central/src/java/org/lamsfoundation/lams/web/RuntimeStatsServlet.java =================================================================== diff -u -rd4fa9dbb6727dc972463755175d4904fad3ebfb4 -r1479d78ebaa6469134e52f3344edcad3ffd082be --- lams_central/src/java/org/lamsfoundation/lams/web/RuntimeStatsServlet.java (.../RuntimeStatsServlet.java) (revision d4fa9dbb6727dc972463755175d4904fad3ebfb4) +++ lams_central/src/java/org/lamsfoundation/lams/web/RuntimeStatsServlet.java (.../RuntimeStatsServlet.java) (revision 1479d78ebaa6469134e52f3344edcad3ffd082be) @@ -20,7 +20,7 @@ * **************************************************************** */ -/* $Id$ */ +/* RuntimeStatsServlet.java,v 1.1 2015/04/28 11:52:07 marcin Exp */ package org.lamsfoundation.lams.web; import java.io.IOException; @@ -42,6 +42,7 @@ import org.jboss.mx.util.MBeanServerLocator; import org.lamsfoundation.lams.util.HttpUrlConnectionUtil; import org.lamsfoundation.lams.util.WebUtil; +import org.lamsfoundation.lams.web.session.SessionManager; public class RuntimeStatsServlet extends HttpServlet { @@ -84,8 +85,9 @@ ObjectName engineName = new ObjectName("jboss.web:type=Engine"); String jvmRoute = (String) server.getAttribute(engineName, "jvmRoute"); - ObjectName connectorName = RuntimeStatsServlet.getConnectorName(); - Integer busyThreads = (Integer) server.getAttribute(connectorName, "currentThreadsBusy"); + String bindAddress = System.getProperty(HttpUrlConnectionUtil.JBOSS_BIND_ADDRESS_KEY); + ObjectName sessionManager = new ObjectName("jboss.web:type=Manager,path=/lams,host=" + bindAddress); + Integer activeSessions = (Integer) server.getAttribute(sessionManager, "activeSessions"); ObjectName dataSourceName = new ObjectName("jboss.jca:name=jdbc/lams-ds,service=ManagedConnectionPool"); Integer pickedConnections = (Integer) server.invoke(dataSourceName, "getConnectionCount", null, null); @@ -95,7 +97,7 @@ resp.append(" - DB connection established"); } resp.append("\nServer : ").append(jvmRoute).append("\n"); - resp.append("Current Sessions : ").append(busyThreads).append("\n"); + resp.append("Current Sessions : ").append(SessionManager.getSessionCount()).append("\n"); resp.append("Time of Request : ").append(date); } catch (Exception e) { RuntimeStatsServlet.log.error("Error while getting short runtime stats", e); @@ -139,6 +141,8 @@ resp.append("Connector threads [busy/max]: ").append(busyThreads).append("/").append(maxThreads) .append("\n"); + resp.append("Active sessions : ").append(SessionManager.getSessionCount()).append("\n"); + ObjectName dataSourceName = new ObjectName("jboss.jca:name=jdbc/lams-ds,service=ManagedConnectionPool"); Long availConnections = (Long) server.invoke(dataSourceName, "getAvailableConnectionCount", null, null); Long usedConnections = (Long) server.invoke(dataSourceName, "getInUseConnectionCount", null, null); Index: lams_common/src/java/org/lamsfoundation/lams/web/session/SessionManager.java =================================================================== diff -u -rd7c291bd9f76db5630b5533afde1a24c649e7cae -r1479d78ebaa6469134e52f3344edcad3ffd082be --- lams_common/src/java/org/lamsfoundation/lams/web/session/SessionManager.java (.../SessionManager.java) (revision d7c291bd9f76db5630b5533afde1a24c649e7cae) +++ lams_common/src/java/org/lamsfoundation/lams/web/session/SessionManager.java (.../SessionManager.java) (revision 1479d78ebaa6469134e52f3344edcad3ffd082be) @@ -106,7 +106,14 @@ return SessionManager.getInstance().sessionContainer.get(sessionId); } - + + /** + * Returns number of sessions stored in the container. + */ + public static int getSessionCount(){ + return getInstance().sessionContainer.size(); + } + static void createSession(String sessionId) { // initialize a new one HttpSession session = SessionManager.getInstance().new SessionImpl(sessionId);