⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 inspectmbean.jsp

📁 jboss服务器! java开发员必备! 一般与sqlserver数据库组合!
💻 JSP
字号:
<%@page contentType="text/html"   import="java.net.*,java.util.*,javax.management.*,javax.management.modelmbean.*,   org.jboss.jmx.adaptor.control.Server,   org.jboss.jmx.adaptor.control.AttrResultInfo,   org.jboss.jmx.adaptor.model.*,   java.lang.reflect.Array"%><%! public String fixDescription(String desc)    {      if (desc == null || desc.equals(""))      {        return "(no description)";      }      return desc;    }%><html><head>   <title>MBean Inspector</title>   <link rel="stylesheet" href="style_master.css" type="text/css">   <meta http-equiv="cache-control" content="no-cache"></head><body><jsp:useBean id='mbeanData' class='org.jboss.jmx.adaptor.model.MBeanData' scope='request'/><%   ObjectName objectName = mbeanData.getObjectName();   String objectNameString = mbeanData.getName();   MBeanInfo mbeanInfo = mbeanData.getMetaData();   MBeanAttributeInfo[] attributeInfo = mbeanInfo.getAttributes();   MBeanOperationInfo[] operationInfo = mbeanInfo.getOperations();%><table width="100%">   <table>      <tr>         <td><img src="images/logo.gif" align="left" border="0" alt="JBoss"></td>         <td valign="middle"><h1>JMX MBean View</h1></td>      <tr/>   </table>   <ul>   <table>      <tr>         <td>MBean Name:</td>         <td><b>Domain Name:</b></td>         <td><%= objectName.getDomain() %></td>      </tr><%   Hashtable properties = objectName.getKeyPropertyList();   Iterator it = properties.keySet().iterator();   while( it.hasNext() )   {      String key = (String) it.next();      String value = (String) properties.get( key );%>      <tr><td></td><td><b><%= key %>: </b></td><td><%= value %></td></tr><%   }%>      <tr><td>MBean Java Class:</td><td colspan="3"><jsp:getProperty name='mbeanData' property='className'/></td></tr>   </table></ul><table cellpadding="5">   <tr>      <td><a href='HtmlAdaptor?action=displayMBeans'>Back to Agent View</a></td>	  <td>      <td><a href='HtmlAdaptor?action=inspectMBean&name=<%= URLEncoder.encode(request.getParameter("name")) %>'>Refresh MBean View</a></td>   </tr></table><hr><h3>MBean description:</h3><%= fixDescription(mbeanInfo.getDescription())%><hr><h3>List of MBean attributes:</h3><form method="post" action="HtmlAdaptor">   <input type="hidden" name="action" value="updateAttributes">   <input type="hidden" name="name" value="<%= objectNameString %>">	<table cellspacing="1" cellpadding="1" border="1">		<tr class="AttributesHeader">		    <th>Name</th>		    <th>Type</th>		    <th>Access</th>		    <th>Value</th>		    <th>Description</th>		</tr><%   boolean hasWriteable = false;   for(int a = 0; a < attributeInfo.length; a ++)   {      MBeanAttributeInfo attrInfo = attributeInfo[a];      String attrName = attrInfo.getName();      String attrType = attrInfo.getType();      AttrResultInfo attrResult = Server.getMBeanAttributeResultInfo(objectNameString, attrInfo);      String attrValue = attrResult.getAsText();      String access = "";      if( attrInfo.isReadable() )         access += "R";      if( attrInfo.isWritable() )      {         access += "W";         hasWriteable = true;      }      String attrDescription = fixDescription(attrInfo.getDescription());%>		<tr>		    <td><%= attrName %></td>		    <td><%= attrType %></td>		    <td><%= access %></td>          <td><%      if( attrInfo.isWritable() )      {         String readonly = attrResult.editor == null ? "readonly" : "";         if( attrType.equals("boolean") || attrType.equals("java.lang.Boolean") )         {            // Boolean true/false radio boxes            Boolean value = Boolean.valueOf(attrValue);            String trueChecked = (value == Boolean.TRUE ? "checked" : "");            String falseChecked = (value == Boolean.FALSE ? "checked" : "");%>            <input type="radio" name="<%= attrName %>" value="True" <%=trueChecked%>>True            <input type="radio" name="<%= attrName %>" value="False" <%=falseChecked%>>False<%         }         else if( attrInfo.isReadable() )         {  // Text fields for read-write string values%>          <input type="text" name="<%= attrName %>" value="<%= (attrValue != null ? attrValue : "") %>" <%= readonly %>><%         }         else         {  // Empty text fields for write-only%>		    <input type="text" name="<%= attrName %>" <%= readonly %>><%         }      }      else      {         if( attrType.equals("[Ljavax.management.ObjectName;") )         {            // Array of Object Names            ObjectName[] names = (ObjectName[]) Server.getMBeanAttributeObject(objectNameString, attrName);            if( names != null )            {%>                  <table><%               for( int i = 0; i < names.length; i++ )               {%>                  <tr><td>                  <a href="HtmlAdaptor?action=inspectMBean&name=<%= URLEncoder.encode(( names[ i ] + "" )) %>"><%= ( names[ i ] + "" ) %></a>                  </td></tr><%               }%>                  </table><%            }         }         // Array of some objects         else if( attrType.endsWith("[]"))         {            Object arrayObject = Server.getMBeanAttributeObject(objectNameString, attrName);            if (arrayObject != null) {%>                  <table><%               for (int i = 0; i < Array.getLength(arrayObject); ++i) {%>                  <tr><td><%=Array.get(arrayObject,i)%></td></tr><%               }%>                  </table><%            }                      }         else         {            // Just the value string%>		    <%= attrValue %><%         }      }      if( attrType.equals("javax.management.ObjectName") )      {         // Add a link to the mbean         if( attrValue != null )         {%>         <a href="HtmlAdaptor?action=inspectMBean&name=<%= URLEncoder.encode(attrValue) %>">View MBean</a><%         }      }%>         </td>         <td><%= attrDescription%></td>		</tr><%   }%>	</table><% if( hasWriteable )   {%>	<input type="submit" value="Apply Changes"><%   }%></form><hr><h3>List of MBean operations:</h3><%   for(int a = 0; a < operationInfo.length; a ++)   {      MBeanOperationInfo opInfo = operationInfo[a];      boolean accept = true;      if (opInfo instanceof ModelMBeanOperationInfo)      {         Descriptor desc = ((ModelMBeanOperationInfo)opInfo).getDescriptor();         String role = (String)desc.getFieldValue("role");         if ("getter".equals(role) || "setter".equals(role))         {            accept = false;         }      }      if (accept)      {         MBeanParameterInfo[] sig = opInfo.getSignature();%><form method="post" action="HtmlAdaptor">   <input type="hidden" name="action" value="invokeOp">   <input type="hidden" name="name" value="<%= objectNameString %>">   <input type="hidden" name="methodIndex" value="<%= a %>">   <hr align='left' width='80'>   <h4><%= opInfo.getReturnType() + " " + opInfo.getName() + "()" %></h4>   <p><%= fixDescription(opInfo.getDescription())%></p><%         if( sig.length > 0 )         {%>	<table cellspacing="2" cellpadding="2" border="1">		<tr class="OperationHeader">			<th>Param</th>			<th>ParamType</th>			<th>ParamValue</th>			<th>ParamDescription</th>		</tr><%            for(int p = 0; p < sig.length; p ++)            {               MBeanParameterInfo paramInfo = sig[p];               String pname = paramInfo.getName();               String ptype = paramInfo.getType();               if( pname == null || pname.length() == 0 || pname.equals(ptype) )               {                  pname = "arg"+p;               }%>		<tr>			<td><%= pname %></td>		   <td><%= ptype %></td>         <td> <%                if( ptype.equals("boolean") || ptype.equals("java.lang.Boolean") )                {                   // Boolean true/false radio boxes%>            <input type="radio" name="arg<%= p%>" value="True"checked>True            <input type="radio" name="arg<%= p%>" value="False">False<%                 }                 else                 {%>            <input type="text" name="arg<%= p%>"><%                  }%>         </td>         <td><%= fixDescription(paramInfo.getDescription())%></td>		</tr><%               }%>	</table><%         }%>	<input type="submit" value="Invoke"></form><%      }   }%></td></tr></table></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -