| 1 16 package org.mortbay.jetty.servlet.jmx; 17 18 import java.util.HashMap ; 19 20 import javax.management.MBeanException ; 21 import javax.management.ObjectName ; 22 23 import org.apache.commons.logging.Log; 24 import org.mortbay.log.LogFactory; 25 import org.mortbay.http.jmx.HttpHandlerMBean; 26 import org.mortbay.jetty.servlet.ServletHandler; 27 import org.mortbay.jetty.servlet.SessionManager; 28 29 30 35 public class ServletHandlerMBean extends HttpHandlerMBean 36 { 37 38 private static final Log log = LogFactory.getLog(ServletHandlerMBean.class); 39 private ServletHandler _servletHandler; 40 private HashMap _servletMap = new HashMap (); 41 42 43 46 public ServletHandlerMBean() 47 throws MBeanException  48 {} 49 50 51 protected void defineManagedResource() 52 { 53 super.defineManagedResource(); 54 defineAttribute("usingCookies"); 55 defineAttribute("servlets",READ_ONLY,ON_MBEAN); 56 defineAttribute("sessionManager",READ_ONLY,ON_MBEAN); 57 _servletHandler=(ServletHandler)getManagedResource(); 58 } 59 60 61 public ObjectName getSessionManager() 62 { 63 SessionManager sm=_servletHandler.getSessionManager(); 64 if (sm==null) 65 return null; 66 ObjectName [] on=getComponentMBeans(new Object []{sm},null); 67 return on[0]; 68 } 69 70 71 72 public ObjectName [] getServlets() 73 { 74 return getComponentMBeans(_servletHandler.getServlets(), _servletMap); 75 } 76 77 78 public void postRegister(Boolean ok) 79 { 80 super.postRegister(ok); 81 if (ok.booleanValue()) 82 getSessionManager(); 83 } 84 85 public void postDeregister () 86 { 87 destroyComponentMBeans(_servletMap); 88 super.postDeregister(); 89 } 90 } 91 | Popular Tags |