Getting a list of active sessions in Tomcat using Java

后端 未结 9 1461
醉梦人生
醉梦人生 2020-12-08 20:34

I am developing a project in Java in which I want the count of all active sessions in Tomcat. Based on that I want to see how much of those users are active and actually usi

9条回答
  •  谎友^
    谎友^ (楼主)
    2020-12-08 21:28

    Here is the Java 7 style JMX code snippet (what basZero asked for and exactly does the job what Janning described):

    JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:9999/jmxrmi");
    try(JMXConnector jmxc = JMXConnectorFactory.connect(url)) {
      MBeanServerConnection mbsc = jmxc.getMBeanServerConnection();
      ObjectName mbeanName = new ObjectName("Catalina:type=Manager,context=/,host=localhost");
      Object value = mbsc.getAttribute(mbeanName, "activeSessions");
    }
    

    Of course you need to replace root context (/) in ObjectName with your app context string if it is not deployed in the root context. See my detailed explanation on the Catalina JMX issue here: Accessing built-in MBeans in Tomcat programatically

提交回复
热议问题