package de.tutorials.web.training;
import java.io.IOException;
public class GetSessionInfoServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
PrintWriter out = resp.getWriter();
try {
MBeanServer pmbs = ManagementFactory.getPlatformMBeanServer();
ObjectName on = new ObjectName("Catalina:type=Manager,context=" + req.getContextPath() + ",host=localhost");
out.println("ActiveSessions: "+ pmbs.getAttribute(on, "activeSessions"));
String[] sessionIds = pmbs.invoke(on, "listSessionIds", new Object[0], new String[0]).toString().split(" ");
out.println(Arrays.toString(sessionIds));
for(String sessionId : sessionIds){
out.println("Session: " + sessionId +" UserName: " + pmbs.invoke(on, "getSessionAttribute", new Object[]{sessionId, "UserName"}, new String[]{String.class.getName(),String.class.getName()}));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}