mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-07-06 00:32:44 +08:00
167 lines
13 KiB
HTML
167 lines
13 KiB
HTML
<div class="header">
|
||
<h1 class="title" title="Package">Package javax.management.monitor</h1>
|
||
<div class="docSummary">
|
||
<div class="block">
|
||
提供监视器类的定义。
|
||
</div>
|
||
</div>
|
||
<p>See: <a href="#package.description">描述</a></p>
|
||
</div><div class="contentContainer">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<table border="0" cellpadding="3" cellspacing="0" class="typeSummary" summary="Interface Summary table, listing interfaces, and an explanation">
|
||
<caption>
|
||
<span>接口摘要</span>
|
||
<span class="tabEnd"> </span>
|
||
</caption>
|
||
<tbody>
|
||
<tr>
|
||
<th class="colFirst" scope="col">接口</th>
|
||
<th class="colLast" scope="col">描述</th>
|
||
</tr>
|
||
</tbody>
|
||
<tbody>
|
||
<tr class="altColor">
|
||
<td class="colFirst"><a href="../../../javax/management/monitor/CounterMonitorMBean.html" title="interface in javax.management.monitor">CounterMonitorMBean</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
暴露计数器监视器MBean的远程管理界面。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor">
|
||
<td class="colFirst"><a href="../../../javax/management/monitor/GaugeMonitorMBean.html" title="interface in javax.management.monitor">GaugeMonitorMBean</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
暴露量规监视器MBean的远程管理界面。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor">
|
||
<td class="colFirst"><a href="../../../javax/management/monitor/MonitorMBean.html" title="interface in javax.management.monitor">MonitorMBean</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
暴露监视器MBean的远程管理界面。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor">
|
||
<td class="colFirst"><a href="../../../javax/management/monitor/StringMonitorMBean.html" title="interface in javax.management.monitor">StringMonitorMBean</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
暴露字符串监视器MBean的远程管理界面。
|
||
</div> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table> </li>
|
||
<li class="blockList">
|
||
<table border="0" cellpadding="3" cellspacing="0" class="typeSummary" summary="Class Summary table, listing classes, and an explanation">
|
||
<caption>
|
||
<span>类摘要</span>
|
||
<span class="tabEnd"> </span>
|
||
</caption>
|
||
<tbody>
|
||
<tr>
|
||
<th class="colFirst" scope="col">类</th>
|
||
<th class="colLast" scope="col">描述</th>
|
||
</tr>
|
||
</tbody>
|
||
<tbody>
|
||
<tr class="altColor">
|
||
<td class="colFirst"><a href="../../../javax/management/monitor/CounterMonitor.html" title="class in javax.management.monitor">CounterMonitor</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
定义监视器MBean,用于观察计数器属性的值。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor">
|
||
<td class="colFirst"><a href="../../../javax/management/monitor/GaugeMonitor.html" title="class in javax.management.monitor">GaugeMonitor</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
定义一个监视器MBean,用于观察仪表属性的值。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor">
|
||
<td class="colFirst"><a href="../../../javax/management/monitor/Monitor.html" title="class in javax.management.monitor">Monitor</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
定义所有监视器MBean的通用部分。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor">
|
||
<td class="colFirst"><a href="../../../javax/management/monitor/MonitorNotification.html" title="class in javax.management.monitor">MonitorNotification</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
提供监视器MBean发送的通知的定义。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor">
|
||
<td class="colFirst"><a href="../../../javax/management/monitor/StringMonitor.html" title="class in javax.management.monitor">StringMonitor</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
定义一个监视器MBean,用于观察字符串属性的值。
|
||
</div> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table> </li>
|
||
<li class="blockList">
|
||
<table border="0" cellpadding="3" cellspacing="0" class="typeSummary" summary="Exception Summary table, listing exceptions, and an explanation">
|
||
<caption>
|
||
<span>异常摘要</span>
|
||
<span class="tabEnd"> </span>
|
||
</caption>
|
||
<tbody>
|
||
<tr>
|
||
<th class="colFirst" scope="col">异常</th>
|
||
<th class="colLast" scope="col">描述</th>
|
||
</tr>
|
||
</tbody>
|
||
<tbody>
|
||
<tr class="altColor">
|
||
<td class="colFirst"><a href="../../../javax/management/monitor/MonitorSettingException.html" title="class in javax.management.monitor">MonitorSettingException</a></td>
|
||
<td class="colLast">
|
||
<div class="block">
|
||
监视器设置在监视器运行时无效时由监视器抛出异常。
|
||
</div> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table> </li>
|
||
</ul>
|
||
<a name="package.description">
|
||
<!-- --> </a>
|
||
<h2 title="Package javax.management.monitor Description">Package javax.management.monitor Description</h2>
|
||
<div class="block">
|
||
<p> <span>提供监视器类的定义。</span> <span>监视器是一个MBean,它定期地观察一个或多个其他MBean中属性的值。</span> <span>如果属性满足某个条件,则监视器将发出<a href="../../../javax/management/monitor/MonitorNotification.html" title="javax.management.monitor中的类"><code>MonitorNotification</code></a> 。</span> <span>当监视器MBean周期性地调用<a href="../../../javax/management/MBeanServer.html#getAttribute-javax.management.ObjectName-java.lang.String-"><code>getAttribute</code></a>来检索被监视的属性的值时,它将在<a href="../../../javax/management/monitor/Monitor.html#start--"><code>Monitor.start()</code></a>调用者的访问控制上下文中执行。</span> </p>
|
||
<p id="complex"> <span>被监视的值可以是复杂类型中包含的简单值。</span> <span>例如, <a href="../../../java/lang/management/MemoryMXBean.html" title="java.lang.management中的接口">java.lang.management中</a>定义的<tt><code>MemoryMXBean</code></tt>具有<tt><code>MemoryUsage</code></tt>类型的<a href="../../../java/lang/management/MemoryUsage.html" title="java.lang.management中的类">属性HeapMemoryUsage</a> 。</span> <span>要监控MemoryUsage的<tt>used</tt>属性描述的<tt>已</tt> <i>用</i>内存量,您可以监视“ <tt>HeapMemoryUsage.used</tt> ”。</span> <span>那个字符串是<a href="../../../javax/management/monitor/MonitorMBean.html#setObservedAttribute-java.lang.String-"><code>setObservedAttribute</code></a>的参数。</span> </p>
|
||
<p> <span>用于解释<tt>ObservedAttribute(</tt>如<tt>"HeapMemoryUsage.used")</tt>的规则如下。</span> <span>假设字符串是<i>Ae</i> (所以<i>A</i>将为<tt>"HeapMemoryUsage"</tt> , <i>e</i>将在<tt>示例</tt>中为<tt>"used"</tt> )。</span> </p>
|
||
<p> <span>首先得到属性<i>A</i>的值。</span> <span>叫它<i>v</i> 。</span> <span>从<i>v</i>中提取值<i>x</i> ,如下所示:</span> </p>
|
||
<ul>
|
||
<li> <span>如果<i>v</i>是<a href="../../../javax/management/openmbean/CompositeData.html" title="javax.management.openmbean中的接口"><code>CompositeData</code></a> ,如果<i>v</i> 。</span> <span><a href="../../../javax/management/openmbean/CompositeData.html#get-java.lang.String-"><code>get</code></a> ( <i>e</i> )返回一个值,那么<i>x</i>就是该值。</span> </li>
|
||
<li> <span>如果<i>v</i>是数组, <i>e</i>是字符串<tt>"length",</tt>则<i>x</i>是数组的长度。</span> </li>
|
||
<li> <span>如果上述规则不产生一个值,并且如果自省,仿佛通过调用<a href="../../../java/beans/Introspector.html#getBeanInfo-java.lang.Class-"><code>Introspector.getBeanInfo</code></a> ,为类<i>诉</i> ( <i>诉</i> <tt>getClass())</tt>识别与该<i>名字</i>的属性,则<i>x</i>是读取属性值的结果。</span> </li>
|
||
</ul>
|
||
<p> <span>第三条规则意味着例如,如果属性<tt>HeapMemoryUsage</tt>是<tt>MemoryUsage</tt> ,则监视<tt>"HeapMemoryUsage.used"</tt>将通过调用<tt>MemoryUsage.getUsed()</tt>获得观察值。</span> </p>
|
||
<p> <span>如果<tt>ObservedAttribute</tt>包含多个周期,例如<tt>"ConnectionPool.connectionStats.length"</tt> ,则上述规则被迭代地应用。</span> <span>这里<i>,V</i>最初将所述属性<tt>ConnectionPool</tt>的值,并且<i>x</i>将由随<i>e</i>等于<tt>"connectionStats"</tt>应用上述规则来导出。</span> <span>那么<i>v</i>将被设置为该<i>x</i> ,并且通过再次应用规则得到新的<i>x</i> , <i>e</i>等于<tt>"length"</tt> 。</span> </p>
|
||
<p> <span>虽然建议属性名称是有效的Java标识符,但可以将属性称为<tt>HeapMemoryUsage.used</tt> 。</span> <span>这意味着一个<tt>ObservedAttribute</tt>是<tt>HeapMemoryUsage.used</tt>可能意味着要观察的值是该名称的属性,或属性<tt>used</tt>属性名为<tt>HeapMemoryUsage</tt> 。</span> <span>因此出于兼容性原因,当<tt>ObservedAttribute</tt>包含一段时间( <tt>.</tt> )时,监视器将检查一个属性是否存在,其名称为完整的<tt>ObservedAttribute</tt>字符串( <tt>示例</tt>中为<tt>HeapMemoryUsage.used</tt> )。</span> <span>它通过调用<a href="../../../javax/management/MBeanServer.html#getMBeanInfo-javax.management.ObjectName-"><code>getMBeanInfo</code></a>查看的MBean来查找<a href="../../../javax/management/MBeanAttributeInfo.html" title="javax.management中的类">包含的</a>具有给定名称的<a href="../../../javax/management/MBeanAttributeInfo.html" title="javax.management中的类"><code>MBeanAttributeInfo</code></a> 。</span> <span>如果找到了,那就是被监控的。</span> <span>如果观察到多个MBean,那么行为是未指定的,如果其中一些具有<tt>HeapMemoryUsage.used</tt>属性,而其他没有。</span> <span><tt>因此</tt> ,在这种情况下,一个实现可以在一个MBean上调用<tt>getMBeanInfo</tt> 。</span> <span>如果在显示器处于活动状态时检查结果发生变化,那么该行为也是未指定的。</span> </p>
|
||
<p> <span>显示器的确切行为详见<a href="#spec">JMX Specification</a> 。</span> <span>以下是一个总结。</span> </p>
|
||
<p> <span>有三种显示器:</span> </p>
|
||
<ul>
|
||
<li><p> <span>A <a href="../../../javax/management/monitor/CounterMonitor.html" title="javax.management.monitor中的类"><code>CounterMonitor</code></a>观察整数类型的属性。</span> <span>假设属性是非负的,并且除了在指定<em>模数</em>下可能的<em>滚转</em>之外,单调增加。</span> <span>每个观察属性都具有关联的<em>阈</em>值。</span> <span>当属性超过其阈值时,发送通知。</span> </p><p> <span>可以指定<em>偏移</em>值。</span> <span>当观测值超过其阈值时,阈值将增加偏移量,或增加足以使阈值大于新观测值的偏移量的倍数。</span> </p><p> <span>A <code>CounterMonitor</code>可以在<em>差模式下工作</em> 。</span> <span>在该模式中,与阈值比较的值是属性的两次连续观察结果之间的差异。</span> </p></li>
|
||
<li><p> <span>A <a href="../../../javax/management/monitor/GaugeMonitor.html" title="javax.management.monitor中的类"><code>GaugeMonitor</code></a>观察数值类型的属性。</span> <span>每个观察属性具有相关联的<em>高阈值</em>和<em>低阈值</em> 。</span> </p><p> <span>当观察到的属性越过高阈值时,如果<em>通知高</em>标志为真,则发送通知。</span> <span>在阈值变得小于或等于低阈值之前,高阈值的后续交叉将不会触发进一步通知。</span> </p><p> <span>当观察到的属性越过低阈值时,如果<em>通知低</em>标志为真,则发送通知。</span> <span>在阈值变得大于或等于高阈值之前,低阈值的后续交叉将不会触发进一步通知。</span> </p><p> <span>通常,只有一个通知高和通知低标志被设置。</span> <span>另一个阈值用于提供<em>滞后</em>机制,以避免当属性围绕阈值产生小的振荡时重复触发通知。</span> </p><p> <span>A <code>GaugeMonitor</code>可以在<em>差模式下工作</em> 。</span> <span>在这种模式下,与高和低阈值比较的值是属性的两个连续观察值之间的差异。</span> </p></li>
|
||
<li><p> <span>A <a href="../../../javax/management/monitor/StringMonitor.html" title="javax.management.monitor中的类"><code>StringMonitor</code></a>观察类型为<code>String</code> 。</span> <span>当观察到的属性变得相等和/或不等于给定的字符串时,发送通知。</span> </p></li>
|
||
</ul>
|
||
<p id="spec"></p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="simpleTagLabel">从以下版本开始:</span>
|
||
</dt>
|
||
<dd>
|
||
1.5
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../../technotes/guides/jmx/"> Java Platform documentation on JMX technology</a>, in particular the
|
||
<a href="../../../../technotes/guides/jmx/JMX_1_4_specification.pdf"> JMX Specification, version 1.4(pdf).</a>
|
||
</dd>
|
||
</dl>
|
||
</div> |