📄 mdbejb.jsp
字号:
<%@ page language="java" import="java.util.Map" import="java.util.HashMap" import="java.util.Iterator" import="org.jboss.invocation.InvocationStatistics" import="org.jboss.invocation.InvocationStatistics.*" %><%@ taglib uri="/webconsole" prefix="jb" %><jb:mbean id="ejb" intf="org.jboss.management.j2ee.MessageDrivenBeanMBean" /><jb:mbean id="container" mbean='<%="jboss.j2ee:service=EJB,jndiName=" + (new javax.management.ObjectName(request.getParameter("ObjectName")).getKeyProperty ("name"))%>' intf="org.jboss.ejb.ContainerMBean" /><% // Author: Boris Cinkler cinkler@users.sourceforge.net String ejbName = new javax.management.ObjectName(request.getParameter("ObjectName")).getKeyProperty ("name"); String ejbModule = new javax.management.ObjectName(request.getParameter("ObjectName")).getKeyProperty ("EJBModule"); String containerUrl = "jboss.j2ee:service=EJB,jndiName=" + ejbName; containerUrl = java.net.URLEncoder.encode(containerUrl); containerUrl = "../jmx-console/HtmlAdaptor?action=inspectMBean&name=" + containerUrl; org.jboss.invocation.InvocationStatistics invokeStats= container.getInvokeStats (); String doReset = request.getParameter("doReset"); if (doReset != null && doReset.equals("true")) { ejb.resetStats (); } String doResetInvoc= request.getParameter("doResetInvoc"); if (doResetInvoc!= null && doResetInvoc.equals("true")) { invokeStats.resetStats (); } String resetUrl = response.encodeURL(request.getRequestURI()) + "?doReset=true&ObjectName=" + java.net.URLEncoder.encode(request.getParameter("ObjectName")); String resetInvocUrl = response.encodeURL(request.getRequestURI()) + "?doResetInvoc=true&ObjectName=" + java.net.URLEncoder.encode(request.getParameter("ObjectName")); String myUrl = response.encodeURL(request.getRequestURI()) + "?" + "&ObjectName=" + java.net.URLEncoder.encode(request.getParameter("ObjectName")); org.jboss.metadata.BeanMetaData beanMetaData = container.getBeanMetaData(); %> <%!public String addStatRow (javax.management.j2ee.statistics.Statistic stat){ String start = new java.util.Date(stat.getStartTime ()).toString (); String lastSample = new java.util.Date(stat.getLastSampleTime ()).toString (); String result = "<tr><td width=\"25%\"><font size=\"1\">" + stat.getName() + " (unit: " + stat.getUnit () + ")</font></td>" + "<td width=\"25%\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#111111\" width=\"100%\"><tr>"; if (stat instanceof javax.management.j2ee.statistics.CountStatistic) { result += "<td width=\"33%\" align=\"center\"><font size=\"1\">" + ((javax.management.j2ee.statistics.CountStatistic)stat).getCount() + "</font></td><td width=\"33%\"></td><td width=\"34%\"></td>"; } else if (stat instanceof javax.management.j2ee.statistics.RangeStatistic) { javax.management.j2ee.statistics.RangeStatistic rStat = (javax.management.j2ee.statistics.RangeStatistic)stat; result += "<td width=\"33%\" align=\"center\"><font size=\"1\">" + rStat.getCurrent () + "</font></td><td width=\"33%\" align=\"center\"><font size=\"1\">" + rStat.getLowWaterMark () + "</font></td>" + "<td width=\"34%\" align=\"center\"><font size=\"1\">" + rStat.getHighWaterMark() + "</font></td>"; } result += "</tr></table></td><td width=\"25%\"><font size=\"1\">" + start + "</font></td><td width=\"25%\"><font size=\"1\">" + lastSample + "</font> </td></tr>"; return result;}%><?xml version="1.0" encoding="iso-8859-1"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>JBoss Management Console - Message Driven Bean</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><link rel="StyleSheet" href="css/jboss.css" type="text/css"/></head><body><!-- header begin --><img src="images/logo.gif" alt="JBoss" id="logo" width="226" height="105" /><div id="header"> </div><div id="navigation_bar"></div><!-- header end --><hr class="hide"/> <center> <div id="content"> <div class="content_block" style="width: 831; height: 247"> <h3>Message Driven Bean</h3> <h4>Name</h4> <p><%=beanMetaData.getEjbName()%> (JNDI: <%=ejbName%>)</p> <h4>EJB Module</h4> <p><%=ejbModule %></p> <h4>Bean Statistics:</h4> <p> </p><%if (ejb.isstatisticsProvider()){%> <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="95%" align="center" id="AutoNumber1"> <tr> <td width="25%" align="center"> <h4 style="text-align: center">Name</h4> </td> <td width="25%" align="center"> <h4 style="text-align: center">Value</h4> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber3"> <tr> <td width="33%"> <h4 style="text-align: center">Current</h4> </td> <td width="33%"> <h4 style="text-align: center">Low</h4> </td> <td width="34%"> <h4 style="text-align: center">High</h4> </td> </tr> </table> </td> <td width="25%" align="center"> <h4 style="text-align: center">Start Time</h4> </td> <td width="25%" align="center"> <h4 style="text-align: center">Last Sample Time</h4> </td> </tr> <% javax.management.j2ee.statistics.MessageDrivenBeanStats stats = (javax.management.j2ee.statistics.MessageDrivenBeanStats)ejb.getstats ();%> <%=addStatRow (stats.getCreateCount ()) %> <%=addStatRow (stats.getRemoveCount ()) %> <%=addStatRow (stats.getMessageCount ()) %> </table> <p align="center"><a href="<%=resetUrl%>">Reset Stats</a> / <a href="<%=myUrl%>">Refresh Stats</a></p><%}else{%> <p>none.</p><%}%> <p> </p> <p> </p> <h4>Invocation Statistics:</h4> <p> </p><% java.util.Iterator iterInvoc = invokeStats.getStats().entrySet().iterator(); if (iterInvoc.hasNext()) { %> <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="95%" align="center" id="AutoNumber1"> <tr> <td align="center"> <h4 style="text-align: center">Method name</h4> </td> <td align="center"> <h4 style="text-align: center">Min (ms)</h4> </td> <td align="center"> <h4 style="text-align: center">Max (ms)</h4> </td> <td align="center"> <h4 style="text-align: center">Average (ms)</h4> </td> <td align="center"> <h4 style="text-align: center">Total (ms)</h4> </td> <td align="center"> <h4 style="text-align: center"># Invocations</h4> </td> </tr> <% while (iterInvoc.hasNext()) { java.util.Map.Entry entry = (java.util.Map.Entry) iterInvoc.next(); org.jboss.invocation.InvocationStatistics.TimeStatistic stat = (org.jboss.invocation.InvocationStatistics.TimeStatistic) entry.getValue(); %> <tr> <td ><font size="1"> <h4 style="text-align: center"><%=((java.lang.reflect.Method)entry.getKey()).getName()%></h4></font> </td> <td ><font size="1"> <h4 style="text-align: center"><%=stat.minTime%></h4></font> </td> <td ><font size="1"> <h4 style="text-align: center"><%=stat.maxTime%></h4></font> </td> <td ><font size="1"> <h4 style="text-align: center"><%=(float)stat.totalTime/(float)stat.count%></h4></font> </td> <td ><font size="1"> <h4 style="text-align: center"><%=stat.totalTime%></h4></font> </td> <td ><font size="1"> <h4 style="text-align: center"><%=stat.count%></h4></font> </td> </tr> <% } %> </table> <p align="center"><a href="<%=resetInvocUrl%>">Reset Stats</a> / <a href="<%=myUrl%>">Refresh Stats</a></p><% } else {%> <p>none.</p><% }%> <p> </p> <p>Actual concurrent invocations: <%=invokeStats.concurrentCalls%> (max: <%=invokeStats.maxConcurrentCalls%>)</p> <p> </p> <p> </p> <p> </p> <p><a href="<%=containerUrl%>">View associated container MBean</a></p> </div> <div class="spacer"><hr/></div> </div> </center><!-- content end --><hr class="hide"/><!-- footer begin --> <div id="footer"> <div id="credits">JBoss Management Console</div> <div id="footer_bar"> </div> </div><!-- footer end --></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -