1 17 18 package org.apache.geronimo.console.web.taglib; 19 20 import java.util.Iterator ; 21 import java.util.Set ; 22 import javax.management.MBeanServer ; 23 import javax.management.MBeanServerFactory ; 24 import javax.management.ObjectName ; 25 import javax.management.QueryExp ; 26 import javax.servlet.jsp.tagext.BodyTagSupport ; 27 28 public class MBeanServerContextTag extends BodyTagSupport { 29 private MBeanServer server; 30 31 public int doStartTag() { 32 server = getMBeanServer(); 33 return EVAL_BODY_INCLUDE; 34 } 35 36 public int doEndTag() { 37 return EVAL_PAGE; 38 } 39 40 public MBeanServer getMBeanServer() { 41 Iterator servers = MBeanServerFactory.findMBeanServer(null).iterator(); 42 MBeanServer server = null; 43 while (servers.hasNext()) { 44 server = (MBeanServer ) servers.next(); 45 } 46 return server; 47 } 48 49 public String getObjectNameFilter() { 50 String filter = 51 pageContext.getRequest().getParameter("ObjectNameFilter"); 52 if (filter == null || filter == "") { 53 return "*:*"; 54 } 55 return filter; 56 } 57 58 public Set getMBeans() { 59 try { 60 if (server != null) { 61 ObjectName objectName = new ObjectName (getObjectNameFilter()); 62 QueryExp query = null; 63 return server.queryMBeans(objectName, query); 64 } else { 65 throw new Exception ("MBean server has not been initialized"); 66 } 67 } catch (Exception e) { 68 e.printStackTrace(); 69 } 70 return null; 71 } 72 } 73 | Popular Tags |