?? 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 + -