Java & SpringFramework

JMX 세션수, 세션아이디리스트 가져오기?

그라냐 2016. 8. 30. 18:05

try {

JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:9999/jmxrmi");

JMXConnector jmxc = JMXConnectorFactory.connect(url);

MBeanServerConnection mbsc = jmxc.getMBeanServerConnection();

ObjectName mbeanName = new ObjectName("Catalina:host=localhost,path=/,type=Manager");


Object value = mbsc.getAttribute(mbeanName, "activeSessions");

System.out.println("activeSessions = " + value);


String valueSessionIds = (String) mbsc.invoke(mbeanName, "listSessionIds", null, null);

if (valueSessionIds != null) {

StringTokenizer tokenizer = new StringTokenizer(valueSessionIds, " ");


while (tokenizer.hasMoreTokens()) {

System.out.println("tokenizer = " + tokenizer.nextToken());

}

}


jmxc.close();

} catch (Exception ex) {

ex.printStackTrace();

}





톰캣 서버에 arguments에 추가


-Dcom.sun.management.jmxremote 

-Dcom.sun.management.jmxremote.port=9999 

-Dcom.sun.management.jmxremote.authenticate=false 

-Dcom.sun.management.jmxremote.ssl=false