1401 lines
91 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="header">
<div class="subTitle">
compact3
</div>
<div class="subTitle">
javax.management.modelmbean
</div>
<h2 class="title" title="Class RequiredModelMBean">Class RequiredModelMBean</h2>
</div><div class="contentContainer">
<ul class="inheritance">
<li><a href="../../../java/lang/Object.html" title="class in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>javax.management.modelmbean.RequiredModelMBean</li>
</ul> </li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>
All Implemented Interfaces:
</dt>
<dd>
<span><a href="../../../javax/management/DynamicMBean.html" title="javax.management中的接口">DynamicMBean</a> <a href="../../../javax/management/MBeanRegistration.html" title="javax.management中的接口">MBeanRegistration</a> <a href="../../../javax/management/modelmbean/ModelMBean.html" title="javax.management.modelmbean中的接口">ModelMBean</a> <a href="../../../javax/management/modelmbean/ModelMBeanNotificationBroadcaster.html" title="javax.management.modelmbean中的接口">ModelMBeanNotificationBroadcaster</a> <a href="../../../javax/management/NotificationBroadcaster.html" title="javax.management中的接口">NotificationBroadcaster</a> <a href="../../../javax/management/NotificationEmitter.html" title="javax.management中的接口">NotificationEmitter</a> <a href="../../../javax/management/PersistentMBean.html" title="javax.management中的接口">PersistentMBean</a></span>
</dd>
</dl>
<hr/> <br/> <pre>public class <span class="typeNameLabel">RequiredModelMBean</span>
extends <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a>
implements <a href="../../../javax/management/modelmbean/ModelMBean.html" title="interface in javax.management.modelmbean">ModelMBean</a>, <a href="../../../javax/management/MBeanRegistration.html" title="interface in javax.management">MBeanRegistration</a>, <a href="../../../javax/management/NotificationEmitter.html" title="interface in javax.management">NotificationEmitter</a></pre>
<div class="block">
<span>这个类是一个ModelMBean的实现。</span>
<span>每个JMX Agent都必须附带一个ModelMBean的适当实现该类必须命名为RequiredModelMBean。</span>
<p> <span>希望可管理的Java资源使用MBeanServer的createMBean方法实例化RequiredModelMBean。</span> <span>资源然后设置RequiredModelMBean实例的MBeanInfo和Descriptors。</span> <span>通过ModelMBeanInfo为ModelMBean公开的属性和操作可以从MBean连接器/适配器如其他MBean访问。</span> <span>通过描述符可以将托管应用程序中的值和方法定义并映射到ModelMBean的属性和操作。</span> <span>该映射可以在XML格式的文件中定义也可以在运行时以动态和编程方式定义。</span> </p>
<p> <span>在MBeanServer中实例化的每个RequiredModelMBean变得可管理</span> <br/> <span>其属性和操作可以通过连接到该MBeanServer的连接器/适配器进行远程访问。</span> </p>
<p> <span>除非是符合JMX的MBean否则不能在MBeanServer中注册Java对象。</span> <span>通过实例化一个RequiredModelMBean保证MBean有效的资源。</span> <span>必须在每个公共方法上抛出MBeanException和RuntimeOperationsException。</span> <span>这允许从分布式通信RMIEJB等中包装异常</span> </p>
</div>
<dl>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.5
</dd>
</dl> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- --> </a> <h3>构造方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Constructor Summary table, listing constructors, and an explanation">
<caption>
<span>构造方法</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../javax/management/modelmbean/RequiredModelMBean.html#RequiredModelMBean--">RequiredModelMBean</a></span>()</code>
<div class="block">
构造一个
<code>RequiredModelMBean</code>一个空的ModelMBeanInfo。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../javax/management/modelmbean/RequiredModelMBean.html#RequiredModelMBean-javax.management.modelmbean.ModelMBeanInfo-">RequiredModelMBean</a></span>(<a href="../../../javax/management/modelmbean/ModelMBeanInfo.html" title="interface in javax.management.modelmbean">ModelMBeanInfo</a> mbi)</code>
<div class="block">
使用传入的ModelMBeanInfo构造一个RequiredModelMBean对象。
</div> </td>
</tr>
</tbody>
</table> </li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- --> </a> <h3>方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Method Summary table, listing methods, and an explanation">
<caption>
<span class="activeTableTab" id="t0"><span>所有方法</span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t2"><span><a href="javascript:show(2);">接口方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t4"><span><a href="javascript:show(8);">具体的方法</a></span><span class="tabEnd"> </span></span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor" id="i0">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/modelmbean/RequiredModelMBean.html#addAttributeChangeNotificationListener-javax.management.NotificationListener-java.lang.String-java.lang.Object-">addAttributeChangeNotificationListener</a></span>(<a href="../../../javax/management/NotificationListener.html" title="interface in javax.management">NotificationListener</a> inlistener, <a href="../../../java/lang/String.html" title="class in java.lang">String</a> inAttributeName, <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> inhandback)</code>
<div class="block">
注册一个实现NotificationListener接口的对象作为监听器。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/modelmbean/RequiredModelMBean.html#addNotificationListener-javax.management.NotificationListener-javax.management.NotificationFilter-java.lang.Object-">addNotificationListener</a></span>(<a href="../../../javax/management/NotificationListener.html" title="interface in javax.management">NotificationListener</a> listener, <a href="../../../javax/management/NotificationFilter.html" title="interface in javax.management">NotificationFilter</a> filter, <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> handback)</code>
<div class="block">
注册一个实现NotificationListener接口的对象作为监听器。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code><a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/modelmbean/RequiredModelMBean.html#getAttribute-java.lang.String-">getAttribute</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> attrName)</code>
<div class="block">
返回为此ModelMBean定义的特定属性的值。
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code><a href="../../../javax/management/AttributeList.html" title="class in javax.management">AttributeList</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/modelmbean/RequiredModelMBean.html#getAttributes-java.lang.String:A-">getAttributes</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a>[] attrNames)</code>
<div class="block">
返回ModelMBean中的几个属性的值。
</div> </td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>protected <a href="../../../javax/management/loading/ClassLoaderRepository.html" title="interface in javax.management.loading">ClassLoaderRepository</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/modelmbean/RequiredModelMBean.html#getClassLoaderRepository--">getClassLoaderRepository</a></span>()</code>
<div class="block">
返回用于执行类加载的Class Loader Repository。
</div> </td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code><a href="../../../javax/management/MBeanInfo.html" title="class in javax.management">MBeanInfo</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/modelmbean/RequiredModelMBean.html#getMBeanInfo--">getMBeanInfo</a></span>()</code>
<div class="block">
返回此RequiredModelMBean所管理的属性操作构造函数和通知。
</div> </td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code><a href="../../../javax/management/MBeanNotificationInfo.html" title="class in javax.management">MBeanNotificationInfo</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/modelmbean/RequiredModelMBean.html#getNotificationInfo--">getNotificationInfo</a></span>()</code>
<div class="block">
返回始终由RequiredModelMBean生成的通知数组。
</div> </td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code><a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/modelmbean/RequiredModelMBean.html#invoke-java.lang.String-java.lang.Object:A-java.lang.String:A-">invoke</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> opName, <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a>[] opArgs, <a href="../../../java/lang/String.html" title="class in java.lang">String</a>[] sig)</code>
<div class="block">
通过或者通过RequiredModelMBean调用方法并返回方法执行的结果。
</div> </td>
</tr>
<tr class="altColor" id="i8">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/modelmbean/RequiredModelMBean.html#load--">load</a></span>()</code>
<div class="block">
使用在永久存储中找到的MBean数据来实例化此MBean实例。
</div> </td>
</tr>
<tr class="rowColor" id="i9">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/modelmbean/RequiredModelMBean.html#postDeregister--">postDeregister</a></span>()</code>
<div class="block">
允许MBean在MBean服务器中取消注册后执行所需的任何操作。
</div> </td>
</tr>
<tr class="altColor" id="i10">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/modelmbean/RequiredModelMBean.html#postRegister-java.lang.Boolean-">postRegister</a></span>(<a href="../../../java/lang/Boolean.html" title="class in java.lang">Boolean</a> registrationDone)</code>
<div class="block">
允许MBean在MBean服务器中注册或注册失败后执行所需的操作。
</div> </td>
</tr>
<tr class="rowColor" id="i11">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/modelmbean/RequiredModelMBean.html#preDeregister--">preDeregister</a></span>()</code>
<div class="block">
允许MBean在MBean服务器取消注册之前执行所需的任何操作。
</div> </td>
</tr>
<tr class="altColor" id="i12">
<td class="colFirst"><code><a href="../../../javax/management/ObjectName.html" title="class in javax.management">ObjectName</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/modelmbean/RequiredModelMBean.html#preRegister-javax.management.MBeanServer-javax.management.ObjectName-">preRegister</a></span>(<a href="../../../javax/management/MBeanServer.html" title="interface in javax.management">MBeanServer</a> server, <a href="../../../javax/management/ObjectName.html" title="class in javax.management">ObjectName</a> name)</code>
<div class="block">
允许MBean在MBean服务器注册之前执行所需的任何操作。
</div> </td>
</tr>
<tr class="rowColor" id="i13">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/modelmbean/RequiredModelMBean.html#removeAttributeChangeNotificationListener-javax.management.NotificationListener-java.lang.String-">removeAttributeChangeNotificationListener</a></span>(<a href="../../../javax/management/NotificationListener.html" title="interface in javax.management">NotificationListener</a> inlistener, <a href="../../../java/lang/String.html" title="class in java.lang">String</a> inAttributeName)</code>
<div class="block">
从RequiredModelMBean中删除attributeChangeNotifications的侦听器。
</div> </td>
</tr>
<tr class="altColor" id="i14">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/modelmbean/RequiredModelMBean.html#removeNotificationListener-javax.management.NotificationListener-">removeNotificationListener</a></span>(<a href="../../../javax/management/NotificationListener.html" title="interface in javax.management">NotificationListener</a> listener)</code>
<div class="block">
从RequiredModelMBean中删除通知的侦听器。
</div> </td>
</tr>
<tr class="rowColor" id="i15">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/modelmbean/RequiredModelMBean.html#removeNotificationListener-javax.management.NotificationListener-javax.management.NotificationFilter-java.lang.Object-">removeNotificationListener</a></span>(<a href="../../../javax/management/NotificationListener.html" title="interface in javax.management">NotificationListener</a> listener, <a href="../../../javax/management/NotificationFilter.html" title="interface in javax.management">NotificationFilter</a> filter, <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> handback)</code>
<div class="block">
从这个MBean中删除一个监听器。
</div> </td>
</tr>
<tr class="altColor" id="i16">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/modelmbean/RequiredModelMBean.html#sendAttributeChangeNotification-javax.management.Attribute-javax.management.Attribute-">sendAttributeChangeNotification</a></span>(<a href="../../../javax/management/Attribute.html" title="class in javax.management">Attribute</a> inOldVal, <a href="../../../javax/management/Attribute.html" title="class in javax.management">Attribute</a> inNewVal)</code>
<div class="block">
发送一个attributeChangeNotification其中包含该属性的旧值和新值到ModelMBean上注册的AttributeChangeNotification侦听器。
</div> </td>
</tr>
<tr class="rowColor" id="i17">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/modelmbean/RequiredModelMBean.html#sendAttributeChangeNotification-javax.management.AttributeChangeNotification-">sendAttributeChangeNotification</a></span>(<a href="../../../javax/management/AttributeChangeNotification.html" title="class in javax.management">AttributeChangeNotification</a> ntfyObj)</code>
<div class="block">
发送一个attributeChangeNotification该属性传递给ModelMBean上注册的attributeChangeNotification侦听器。
</div> </td>
</tr>
<tr class="altColor" id="i18">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/modelmbean/RequiredModelMBean.html#sendNotification-javax.management.Notification-">sendNotification</a></span>(<a href="../../../javax/management/Notification.html" title="class in javax.management">Notification</a> ntfyObj)</code>
<div class="block">
发送通知该通知将作为jmx.modelmbean.generic通知传递给ModelMBean上的注册通知侦听器。
</div> </td>
</tr>
<tr class="rowColor" id="i19">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/modelmbean/RequiredModelMBean.html#sendNotification-java.lang.String-">sendNotification</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> ntfyText)</code>
<div class="block">
发送一个通知其中包含传递给ModelMBean上注册的通知侦听器的文本字符串。
</div> </td>
</tr>
<tr class="altColor" id="i20">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/modelmbean/RequiredModelMBean.html#setAttribute-javax.management.Attribute-">setAttribute</a></span>(<a href="../../../javax/management/Attribute.html" title="class in javax.management">Attribute</a> attribute)</code>
<div class="block">
设置命名的ModelMBean的特定属性的值。
</div> </td>
</tr>
<tr class="rowColor" id="i21">
<td class="colFirst"><code><a href="../../../javax/management/AttributeList.html" title="class in javax.management">AttributeList</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/modelmbean/RequiredModelMBean.html#setAttributes-javax.management.AttributeList-">setAttributes</a></span>(<a href="../../../javax/management/AttributeList.html" title="class in javax.management">AttributeList</a> attributes)</code>
<div class="block">
设置此ModelBean的属性数组的值。
</div> </td>
</tr>
<tr class="altColor" id="i22">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/modelmbean/RequiredModelMBean.html#setManagedResource-java.lang.Object-java.lang.String-">setManagedResource</a></span>(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> mr, <a href="../../../java/lang/String.html" title="class in java.lang">String</a> mr_type)</code>
<div class="block">
设置要在此ModelMBean管理界面MBeanInfo和Descriptors中执行所有方法的对象的实例句柄。
</div> </td>
</tr>
<tr class="rowColor" id="i23">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/modelmbean/RequiredModelMBean.html#setModelMBeanInfo-javax.management.modelmbean.ModelMBeanInfo-">setModelMBeanInfo</a></span>(<a href="../../../javax/management/modelmbean/ModelMBeanInfo.html" title="interface in javax.management.modelmbean">ModelMBeanInfo</a> mbi)</code>
<div class="block">
使用传入的ModelMBeanInfo初始化一个ModelMBean对象。
</div> </td>
</tr>
<tr class="altColor" id="i24">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/modelmbean/RequiredModelMBean.html#store--">store</a></span>()</code>
<div class="block">
捕获此MBean实例的当前状态并将其写入持久存储。
</div> </td>
</tr>
</tbody>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- --> </a> <h3>Methods inherited from class java.lang.<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></h3> <code><a href="../../../java/lang/Object.html#clone--">clone</a>, <a href="../../../java/lang/Object.html#equals-java.lang.Object-">equals</a>, <a href="../../../java/lang/Object.html#finalize--">finalize</a>, <a href="../../../java/lang/Object.html#getClass--">getClass</a>, <a href="../../../java/lang/Object.html#hashCode--">hashCode</a>, <a href="../../../java/lang/Object.html#notify--">notify</a>, <a href="../../../java/lang/Object.html#notifyAll--">notifyAll</a>, <a href="../../../java/lang/Object.html#toString--">toString</a>, <a href="../../../java/lang/Object.html#wait--">wait</a>, <a href="../../../java/lang/Object.html#wait-long-">wait</a>, <a href="../../../java/lang/Object.html#wait-long-int-">wait</a></code></li>
</ul> </li>
</ul> </li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- --> </a> <h3>构造方法详细信息</h3> <a name="RequiredModelMBean--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>RequiredModelMBean</h4> <pre>public RequiredModelMBean()
throws <a href="../../../javax/management/MBeanException.html" title="class in javax.management">MBeanException</a>,
<a href="../../../javax/management/RuntimeOperationsException.html" title="class in javax.management">RuntimeOperationsException</a></pre>
<div class="block">
<span>构造一个<code>RequiredModelMBean</code>一个空的ModelMBeanInfo。</span>
<p> <span>RequiredModelMBean的MBeanInfo和Descriptors可以使用<a href="../../../javax/management/modelmbean/RequiredModelMBean.html#setModelMBeanInfo-javax.management.modelmbean.ModelMBeanInfo-"><code>setModelMBeanInfo(javax.management.modelmbean.ModelMBeanInfo)</code></a>方法进行自<a href="../../../javax/management/modelmbean/RequiredModelMBean.html#setModelMBeanInfo-javax.management.modelmbean.ModelMBeanInfo-">定义</a></span> <span>在RequiredModelMBean的MBeanInfo和Descriptors被自定义之后RequiredModelMBean可以向MBeanServer注册。</span> </p>
</div>
<dl>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/management/MBeanException.html" title="class in javax.management">MBeanException</a></code> - 包装分布式通信异常。
</dd>
<dd>
<span><code><a href="../../../javax/management/RuntimeOperationsException.html" title="class in javax.management">RuntimeOperationsException</a></code> - 在构建对象期间包裹<a href="../../../java/lang/RuntimeException.html" title="java.lang中的类"><code>RuntimeException</code></a></span>
</dd>
</dl> </li>
</ul> <a name="RequiredModelMBean-javax.management.modelmbean.ModelMBeanInfo-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>RequiredModelMBean</h4> <pre>public RequiredModelMBean(<a href="../../../javax/management/modelmbean/ModelMBeanInfo.html" title="interface in javax.management.modelmbean">ModelMBeanInfo</a> mbi)
throws <a href="../../../javax/management/MBeanException.html" title="class in javax.management">MBeanException</a>,
<a href="../../../javax/management/RuntimeOperationsException.html" title="class in javax.management">RuntimeOperationsException</a></pre>
<div class="block">
<span>使用传入的ModelMBeanInfo构造RequiredModelMBean对象。只要RequiredModelMBean尚未向MBeanServer注册则可以使用<a href="../../../javax/management/modelmbean/RequiredModelMBean.html#setModelMBeanInfo-javax.management.modelmbean.ModelMBeanInfo-"><code>setModelMBeanInfo(javax.management.modelmbean.ModelMBeanInfo)</code></a>方法自定义RequiredModelMBean的MBeanInfo和Descriptors。</span>
<span>在RequiredModelMBean的MBeanInfo和Descriptors被自定义之后RequiredModelMBean可以向MBeanServer注册。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>mbi</code> - RequiredModelMBean要使用的ModelMBeanInfo对象。</span>
<span>给定的ModelMBeanInfo被克隆和修饰如通过指定<a href="../../../javax/management/modelmbean/RequiredModelMBean.html#setModelMBeanInfo-javax.management.modelmbean.ModelMBeanInfo-"><code>setModelMBeanInfo(javax.management.modelmbean.ModelMBeanInfo)</code></a></span>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/management/MBeanException.html" title="class in javax.management">MBeanException</a></code> - 包裹分布式通信异常。
</dd>
<dd>
<code><a href="../../../javax/management/RuntimeOperationsException.html" title="class in javax.management">RuntimeOperationsException</a></code> - 包装{link java.lang.IllegalArgumentException}传入参数的MBeanInfo为null。
</dd>
</dl> </li>
</ul> </li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="setModelMBeanInfo-javax.management.modelmbean.ModelMBeanInfo-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setModelMBeanInfo</h4> <pre>public void setModelMBeanInfo(<a href="../../../javax/management/modelmbean/ModelMBeanInfo.html" title="interface in javax.management.modelmbean">ModelMBeanInfo</a> mbi)
throws <a href="../../../javax/management/MBeanException.html" title="class in javax.management">MBeanException</a>,
<a href="../../../javax/management/RuntimeOperationsException.html" title="class in javax.management">RuntimeOperationsException</a></pre>
<div class="block">
<span>使用传入的ModelMBeanInfo初始化一个ModelMBean对象。该方法使得可以在ModelMBean上设置自定义的ModelMBeanInfo只要它不向MBeanServer注册。</span>
<br/>
<span>一旦ModelMBean的ModelMBeanInfo带描述符被自定义并在ModelMBean上设置那么ModelMBean将被注册到MBeanServer。</span>
<p> <span>如果ModelMBean当前已注册此方法会引发<a href="../../../javax/management/RuntimeOperationsException.html" title="javax.management中的类"><code>RuntimeOperationsException</code></a>包装<a href="../../../java/lang/IllegalStateException.html" title="java.lang中的类"><code>IllegalStateException</code></a></span> </p>
<p> <span>如果给定<var>inModelMBeanInfo</var>不包含任何<a href="../../../javax/management/modelmbean/ModelMBeanNotificationInfo.html" title="javax.management.modelmbean中的类"><code>ModelMBeanNotificationInfo</code></a><code>GENERIC</code><code>ATTRIBUTE_CHANGE</code>通知则RequiredModelMBean将提供自己的默认<a href="../../../javax/management/modelmbean/ModelMBeanNotificationInfo.html" title="javax.management.modelmbean中的类"><code>ModelMBeanNotificationInfo</code></a> S表示这些失踪的通知。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/management/modelmbean/ModelMBean.html#setModelMBeanInfo-javax.management.modelmbean.ModelMBeanInfo-">setModelMBeanInfo</a></code>在界面
<code><a href="../../../javax/management/modelmbean/ModelMBean.html" title="interface in javax.management.modelmbean">ModelMBean</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>mbi</code> - ModelMBean要使用的ModelMBeanInfo对象。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/management/MBeanException.html" title="class in javax.management">MBeanException</a></code> - 包装分布式通信异常。
</dd>
<dd>
<span><code><a href="../../../javax/management/RuntimeOperationsException.html" title="class in javax.management">RuntimeOperationsException</a></code> -</span>
<ul>
<li> <span>如果传入的MBeanInfo参数为null则包装一个<a href="../../../java/lang/IllegalArgumentException.html" title="java.lang中的类"><code>IllegalArgumentException</code></a></span> </li>
<li> <span>包装一个<a href="../../../java/lang/IllegalStateException.html" title="java.lang中的类"><code>IllegalStateException</code></a>如果了ModelMBean MBeanServer中注册。</span> </li>
</ul>
</dd>
</dl> </li>
</ul> <a name="setManagedResource-java.lang.Object-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setManagedResource</h4> <pre>public void setManagedResource(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> mr,
<a href="../../../java/lang/String.html" title="class in java.lang">String</a> mr_type)
throws <a href="../../../javax/management/MBeanException.html" title="class in javax.management">MBeanException</a>,
<a href="../../../javax/management/RuntimeOperationsException.html" title="class in javax.management">RuntimeOperationsException</a>,
<a href="../../../javax/management/InstanceNotFoundException.html" title="class in javax.management">InstanceNotFoundException</a>,
<a href="../../../javax/management/modelmbean/InvalidTargetObjectTypeException.html" title="class in javax.management.modelmbean">InvalidTargetObjectTypeException</a></pre>
<div class="block">
设置要在此ModelMBean管理界面MBeanInfo和Descriptors中执行所有方法的对象的实例句柄。
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/management/modelmbean/ModelMBean.html#setManagedResource-java.lang.Object-java.lang.String-">setManagedResource</a></code>在界面
<code><a href="../../../javax/management/modelmbean/ModelMBean.html" title="interface in javax.management.modelmbean">ModelMBean</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>mr</code> - 被管理资源的对象
</dd>
<dd>
<span><code>mr_type</code> - 受管资源的引用类型。</span>
<br/>
<span>可以是“ObjectReference”“Handle”“IOR”“EJBHandle”或“RMIReference”。</span>
<br/>
<span>在此实现中仅支持“ObjectReference”。</span>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/management/MBeanException.html" title="class in javax.management">MBeanException</a></code> - 对象的初始化器抛出异常。
</dd>
<dd>
<code><a href="../../../javax/management/InstanceNotFoundException.html" title="class in javax.management">InstanceNotFoundException</a></code> - 找不到托管资源对象
</dd>
<dd>
<code><a href="../../../javax/management/modelmbean/InvalidTargetObjectTypeException.html" title="class in javax.management.modelmbean">InvalidTargetObjectTypeException</a></code> - 受管资源类型应为“ObjectReference”。
</dd>
<dd>
<span><code><a href="../../../javax/management/RuntimeOperationsException.html" title="class in javax.management">RuntimeOperationsException</a></code> - 设置资源时<a href="../../../java/lang/RuntimeException.html" title="java.lang中的类">封装<code>RuntimeException</code></a></span>
</dd>
</dl> </li>
</ul> <a name="load--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>load</h4> <pre>public void load()
throws <a href="../../../javax/management/MBeanException.html" title="class in javax.management">MBeanException</a>,
<a href="../../../javax/management/RuntimeOperationsException.html" title="class in javax.management">RuntimeOperationsException</a>,
<a href="../../../javax/management/InstanceNotFoundException.html" title="class in javax.management">InstanceNotFoundException</a></pre>
<div class="block">
<p> <span>使用在永久存储中找到的MBean数据来实例化此MBean实例。</span> <span>加载的数据可以包括属性和操作值。</span> </p>
<p> <span>在此实例的构建或初始化期间以及在MBean注册到MBeanServer之前应该调用此方法。</span> </p>
<p> <span>如果这个类的实现不支持持久性,则抛出一个<a href="../../../javax/management/MBeanException.html" title="javax.management中的类"><code>MBeanException</code></a>包装<a href="../../../javax/management/ServiceNotFoundException.html" title="javax.management中的类"><code>ServiceNotFoundException</code></a></span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/management/PersistentMBean.html#load--">load</a></code>在接口
<code><a href="../../../javax/management/PersistentMBean.html" title="interface in javax.management">PersistentMBean</a></code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/management/MBeanException.html" title="class in javax.management">MBeanException</a></code> - 包装另一个异常,或不支持持久性
</dd>
<dd>
<code><a href="../../../javax/management/RuntimeOperationsException.html" title="class in javax.management">RuntimeOperationsException</a></code> - 从持久化机制包装异常
</dd>
<dd>
<code><a href="../../../javax/management/InstanceNotFoundException.html" title="class in javax.management">InstanceNotFoundException</a></code> - 无法从永久存储中找到或加载该MBean
</dd>
</dl> </li>
</ul> <a name="store--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>store</h4> <pre>public void store()
throws <a href="../../../javax/management/MBeanException.html" title="class in javax.management">MBeanException</a>,
<a href="../../../javax/management/RuntimeOperationsException.html" title="class in javax.management">RuntimeOperationsException</a>,
<a href="../../../javax/management/InstanceNotFoundException.html" title="class in javax.management">InstanceNotFoundException</a></pre>
<div class="block">
<p> <span>捕获此MBean实例的当前状态并将其写入持久存储。</span> <span>存储的状态可以包括属性和操作值。</span> </p>
<p> <span>如果此类的实现不支持持久性,则会抛出一个<a href="../../../javax/management/MBeanException.html" title="javax.management中的类"><code>ServiceNotFoundException</code></a>包装<a href="../../../javax/management/ServiceNotFoundException.html" title="javax.management中的类"><code>ServiceNotFoundException</code></a></span> </p>
<p> <span>使用MBean和属性描述符的持久性策略来指导该方法的执行。</span> <span>如果'persistPolicy'字段为MBean应存储</span> </p>
<pre> <span>!= "never"
= "always"
= "onTimer" and now &gt; 'lastPersistTime' + 'persistPeriod'
= "NoMoreOftenThan" and now &gt; 'lastPersistTime' + 'persistPeriod'
= "onUnregister"</span> </pre>
<p> <span>如果'persistPolicy'字段为不存储MBean</span> </p>
<pre> <span>= "never"
= "onUpdate"
= "onTimer" &amp;&amp; now &lt; 'lastPersistTime' + 'persistPeriod'</span> </pre>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/management/PersistentMBean.html#store--">store</a></code>在界面
<code><a href="../../../javax/management/PersistentMBean.html" title="interface in javax.management">PersistentMBean</a></code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/management/MBeanException.html" title="class in javax.management">MBeanException</a></code> - 包装另一个异常,或不支持持久性
</dd>
<dd>
<code><a href="../../../javax/management/RuntimeOperationsException.html" title="class in javax.management">RuntimeOperationsException</a></code> - 从持久化机制包装异常
</dd>
<dd>
<code><a href="../../../javax/management/InstanceNotFoundException.html" title="class in javax.management">InstanceNotFoundException</a></code> - 找不到/访问持久存储
</dd>
</dl> </li>
</ul> <a name="getMBeanInfo--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getMBeanInfo</h4> <pre>public <a href="../../../javax/management/MBeanInfo.html" title="class in javax.management">MBeanInfo</a> getMBeanInfo()</pre>
<div class="block">
返回此RequiredModelMBean所管理的属性操作构造函数和通知。
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/management/DynamicMBean.html#getMBeanInfo--">getMBeanInfo</a></code>在界面
<code><a href="../../../javax/management/DynamicMBean.html" title="interface in javax.management">DynamicMBean</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
ModelMBeanInfo的一个实例允许检索此MBean的所有属性操作和通知。
</dd>
</dl> </li>
</ul> <a name="invoke-java.lang.String-java.lang.Object:A-java.lang.String:A-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>invoke</h4> <pre>public <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> invoke(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> opName,
<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a>[] opArgs,
<a href="../../../java/lang/String.html" title="class in java.lang">String</a>[] sig)
throws <a href="../../../javax/management/MBeanException.html" title="class in javax.management">MBeanException</a>,
<a href="../../../javax/management/ReflectionException.html" title="class in javax.management">ReflectionException</a></pre>
<div class="block">
<span>通过或者通过RequiredModelMBean调用方法并返回方法执行的结果。</span>
<p> <span>如果要调用的给定方法与所提供的签名一起匹配RequiredModelMbean可访问方法之一则将调用该方法。</span> <span>否则,将对被管理的资源进行对给定方法的调用。</span> </p>
<p> <span>操作返回的最后一个值可以缓存在ModelMBeanOperationInfo描述符中的操作描述符中。</span> <span>有效值将在“值”字段中,如果有的话。</span> <span>如果描述符中的'currencyTimeLimit'字段是:</span> </p>
<ul>
<li> <span><b>&lt;0</b>然后该值不缓存并且永远无效。</span> <span>调用操作方法。</span> <span>'value'和'lastUpdatedTimeStamp'字段被清除。</span> </li>
<li> <span><b>= 0</b>然后值始终被缓存并且始终有效。</span> <span>返回“值”字段。</span> <span>如果没有'value'字段,则会为该属性调用操作方法。</span> <span>'lastUpdatedTimeStamp'字段和`value'字段设置为操作的返回值和当前时间戳。</span> </li>
<li> <span><b>&gt; 0</b>表示“值”字段有效的秒数。</span> <span>当'lastUpdatedTimeStamp'+'currencyTimeLimit'&gt; Now时'值'字段不再有效。</span>
<ul>
<li> <span>当'value'有效时,返回'value'。</span> </li>
<li> <span>当'value'不再有效时,调用操作方法。</span> <span>'lastUpdatedTimeStamp'字段和`value'字段被更新。</span> </li>
</ul></li>
</ul>
<p> <span><b>注:</b>由于与此规范的以前版本不一致,建议不要使用负值或零值<code>currencyTimeLimit</code></span> <span>要指示缓存值永远无效,请省略<code>currencyTimeLimit</code>字段。</span> <span>要指示它始终有效,请为此字段使用非常大的数字。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/management/DynamicMBean.html#invoke-java.lang.String-java.lang.Object:A-java.lang.String:A-">invoke</a></code>在界面
<code><a href="../../../javax/management/DynamicMBean.html" title="interface in javax.management">DynamicMBean</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>opName</code> - 要调用的方法的名称。</span>
<span>如果在操作描述符的'class'字段中定义了类名称,则该名称可以是包含类名称的完全限定方法名称,也可以是方法名称。</span>
</dd>
<dd>
<code>opArgs</code> - 包含调用操作时要设置的参数的数组
</dd>
<dd>
<span><code>sig</code> - 包含操作签名的数组。</span>
<span>将使用与用于加载调用操作的MBean相同的类加载器来加载类对象。</span>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
该方法返回的对象,表示在指定的受管资源上调用方法的结果。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<span><code><a href="../../../javax/management/MBeanException.html" title="class in javax.management">MBeanException</a></code> - 包装以下其中一个异常:</span>
<ul>
<li> <span>被管理对象的调用方法抛出的异常。</span> </li>
<li> <span><a href="../../../javax/management/ServiceNotFoundException.html" title="javax.management中的类"><code>ServiceNotFoundException</code></a> 否ModelMBeanOperationInfo或没有为指定的操作定义的描述符或被管理的资源为空。</span> </li>
<li> <span><a href="../../../javax/management/modelmbean/InvalidTargetObjectTypeException.html" title="javax.management.modelmbean中的类"><code>InvalidTargetObjectTypeException</code></a> 'targetType'字段值不是'objectReference'。</span> </li>
</ul>
</dd>
<dd>
<span><code><a href="../../../javax/management/ReflectionException.html" title="class in javax.management">ReflectionException</a></code> - 在尝试调用该方法时抛出一个<a href="../../../java/lang/Exception.html" title="java.lang中的类"><code>异常</code></a></span>
</dd>
<dd>
<span><code><a href="../../../javax/management/RuntimeOperationsException.html" title="class in javax.management">RuntimeOperationsException</a></code> - 包装<a href="../../../java/lang/IllegalArgumentException.html" title="java.lang中的类"><code>IllegalArgumentException</code></a>方法名称为null。</span>
</dd>
</dl> </li>
</ul> <a name="getAttribute-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getAttribute</h4> <pre>public <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> getAttribute(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> attrName)
throws <a href="../../../javax/management/AttributeNotFoundException.html" title="class in javax.management">AttributeNotFoundException</a>,
<a href="../../../javax/management/MBeanException.html" title="class in javax.management">MBeanException</a>,
<a href="../../../javax/management/ReflectionException.html" title="class in javax.management">ReflectionException</a></pre>
<div class="block">
<span>返回为此ModelMBean定义的特定属性的值。</span>
<span>属性返回的最后一个值可以缓存在属性的描述符中。</span>
<span>有效值将在“值”字段中,如果有的话。</span>
<span>如果描述符中的'currencyTimeLimit'字段是:</span>
<ul>
<li> <span><b>&lt;0</b>然后该值不缓存并且永远无效。</span> <span>为属性调用getter方法。</span> <span>'value'和'lastUpdatedTimeStamp'字段被清除。</span> </li>
<li> <span><b>= 0</b>然后值始终被缓存并且始终有效。</span> <span>返回“值”字段。</span> <span>如果没有'value'字段那么为属性调用getter方法。</span> <span>'lastUpdatedTimeStamp'字段和'value'字段设置为属性的值和当前时间戳。</span> </li>
<li> <span><b>&gt; 0</b>表示“值”字段有效的秒数。</span> <span>当'lastUpdatedTimeStamp'+'currencyTimeLimit'&gt; Now时'值'字段不再有效。</span>
<ul>
<li> <span>当'value'有效时,返回'value'。</span> </li>
<li> <span>当“值”不再有效时该属性将调用getter方法。</span> <span>'lastUpdatedTimeStamp'字段和`value'字段被更新。</span> </li>
</ul></li>
</ul>
<p> <span><b>注:</b>由于与此规范的以前版本不一致,建议不要使用负值或零值<code>currencyTimeLimit</code></span> <span>要指示缓存值永远无效,请省略<code>currencyTimeLimit</code>字段。</span> <span>要指示它始终有效,请为此字段使用非常大的数字。</span> </p>
<p> <span>如果“getMethod”字段包含有效的操作描述符的名称则执行操作描述符描述的方法。</span> <span>该方法的响应作为属性的值返回。</span> <span>如果操作失败或返回的值与声明的属性类型不兼容,将抛出异常。</span> </p>
<p> <span>如果没有定义“getMethod”字段则返回属性的默认值。</span> <span>如果返回的值与声明的属性类型不兼容,将抛出异常。</span> </p>
<p> <span>属性声明的类型是返回的字符串<a href="../../../javax/management/MBeanAttributeInfo.html#getType--"><code>MBeanAttributeInfo.getType()</code></a></span> <span>如果满足以下条件之一,则该值与此类型兼容:</span> </p>
<ul>
<li> <span>该值为null;</span> </li>
<li> <span>声明的名称是一个原始类型名称如“int”该值是相应包装器类型的实例如java.lang.Integer;</span> </li>
<li> <span>该值的名称与声明的名称相同;</span> </li>
<li> <span>声明的名称可以由值的类加载器加载,并生成可以为其分配值的类。</span> </li>
</ul>
<p> <span>在这个实现中在需要调用getMethod的每一种情况下由于通过标准的“invoke”方法调用该方法因此需要使用operationInfo因此必须为该getMethod指定一个操作以便调用工作正常。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/management/DynamicMBean.html#getAttribute-java.lang.String-">getAttribute</a></code>在界面
<code><a href="../../../javax/management/DynamicMBean.html" title="interface in javax.management">DynamicMBean</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>attrName</code> - 指定要检索的属性的名称的字符串。</span>
<span>它必须匹配ModelMBeanAttributeInfo的名称。</span>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
从描述符'value'字段检索属性的值,或从描述符的'getMethod'字段中的操作的调用。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<span><code><a href="../../../javax/management/AttributeNotFoundException.html" title="class in javax.management">AttributeNotFoundException</a></code> - MBean中无法访问指定的属性。</span>
<span>以下情况可能会导致AttributeNotFoundException</span>
<ul>
<li> <span>没有为Model MBean找到ModelMBeanInfo。</span> </li>
<li> <span>没有找到指定的属性名称的ModelMBeanAttributeInfo。</span> </li>
<li> <span>ModelMBeanAttributeInfo isReadable方法返回'false'。</span> </li>
</ul>
</dd>
<dd>
<span><code><a href="../../../javax/management/MBeanException.html" title="class in javax.management">MBeanException</a></code> - 包装以下其中一个异常:</span>
<ul>
<li> <span><a href="../../../javax/management/InvalidAttributeValueException.html" title="javax.management中的类"><code>InvalidAttributeValueException</code></a> 从属性的getter方法接收到错误的值类型或者在属性描述符中定义的“getMethod”字段不存在缺省值。</span> </li>
<li> <span><a href="../../../javax/management/ServiceNotFoundException.html" title="javax.management中的类"><code>ServiceNotFoundException</code></a> 没有为属性的getter方法定义的ModelMBeanOperationInfo或与ModelMBeanOperationInfo或被管理资源关联的描述符为null。</span> </li>
<li> <span><a href="../../../javax/management/modelmbean/InvalidTargetObjectTypeException.html" title="javax.management.modelmbean中的类"><code>InvalidTargetObjectTypeException</code>'targetType</a> '字段值不是'objectReference'。</span> </li>
<li> <span>被管理对象的getter抛出的异常。</span> </li>
</ul>
</dd>
<dd>
<span><code><a href="../../../javax/management/ReflectionException.html" title="class in javax.management">ReflectionException</a></code> - 包裹一个<a href="../../../java/lang/Exception.html" title="java.lang中的类"><code>异常</code></a>在尝试调用吸气剂时抛出。</span>
</dd>
<dd>
<span><code><a href="../../../javax/management/RuntimeOperationsException.html" title="class in javax.management">RuntimeOperationsException</a></code> - 包装<a href="../../../java/lang/IllegalArgumentException.html" title="java.lang中的类"><code>IllegalArgumentException</code></a> :参数中的属性名称为空。</span>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/management/modelmbean/RequiredModelMBean.html#setAttribute-javax.management.Attribute-"><code>setAttribute(javax.management.Attribute)</code></a>
</dd>
</dl> </li>
</ul> <a name="getAttributes-java.lang.String:A-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getAttributes</h4> <pre>public <a href="../../../javax/management/AttributeList.html" title="class in javax.management">AttributeList</a> getAttributes(<a href="../../../java/lang/String.html" title="class in java.lang">String</a>[] attrNames)</pre>
<div class="block">
<span>返回ModelMBean中的几个属性的值。</span>
<span>对传入的attrNames数组中的每个属性名执行getAttribute。</span>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/management/DynamicMBean.html#getAttributes-java.lang.String:A-">getAttributes</a></code>在界面
<code><a href="../../../javax/management/DynamicMBean.html" title="interface in javax.management">DynamicMBean</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>attrNames</code> - 要检索的属性名称的String数组。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
检索属性的数组。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<span><code><a href="../../../javax/management/RuntimeOperationsException.html" title="class in javax.management">RuntimeOperationsException</a></code> - 包装<a href="../../../java/lang/IllegalArgumentException.html" title="java.lang中的类"><code>IllegalArgumentException</code></a> 参数中的对象名称为null或参数中的属性为空。</span>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/management/modelmbean/RequiredModelMBean.html#setAttributes-javax.management.AttributeList-"><code>setAttributes(javax.management.AttributeList)</code></a>
</dd>
</dl> </li>
</ul> <a name="setAttribute-javax.management.Attribute-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setAttribute</h4> <pre>public void setAttribute(<a href="../../../javax/management/Attribute.html" title="class in javax.management">Attribute</a> attribute)
throws <a href="../../../javax/management/AttributeNotFoundException.html" title="class in javax.management">AttributeNotFoundException</a>,
<a href="../../../javax/management/InvalidAttributeValueException.html" title="class in javax.management">InvalidAttributeValueException</a>,
<a href="../../../javax/management/MBeanException.html" title="class in javax.management">MBeanException</a>,
<a href="../../../javax/management/ReflectionException.html" title="class in javax.management">ReflectionException</a></pre>
<div class="block">
<span>设置命名的ModelMBean的特定属性的值。</span>
<span>如果属性描述符的“setMethod”字段包含有效的操作描述符的名称则执行操作描述符描述的方法。</span>
<span>在此实现中必须正确指定操作描述符并分配给modelMBeanInfo以使“setMethod”正常工作。</span>
<span>该方法的响应被设置为描述符中属性的值。</span>
<p> <span>如果currencyTimeLimit&gt; 0则属性描述符的'value'字段中缓存属性的新值,并将'lastUpdatedTimeStamp'字段设置为当前时间戳。</span> </p>
<p> <span>如果属性描述符的持久字段不为空,则使用属性描述符的持久性策略来指导将属性存储在持久存储中。</span> <br/> <span>如果'persistPolicy'字段是存储MBean</span> </p>
<ul>
<li> <span>=“从不”</span> </li>
<li> <span>=“永远”</span> </li>
<li> <span>=“onUpdate”</span> </li>
<li> <span>=“onTimer”现在&gt;'lastPersistTime'+'persistPeriod'</span> </li>
<li> <span>=“NoMoreOftenThan”现在&gt;'lastPersistTime'+'persistPeriod'</span> </li>
</ul>
<span>如果'persistPolicy'字段为不存储MBean</span>
<ul>
<li> <span>=“从不”</span> </li>
<li> <span>= =“onTimer”&amp;&amp; now &lt;'lastPersistTime'+'persistPeriod'</span> </li>
<li> <span>=“onUnregister”</span> </li>
<li> <span>= =“NoMoreOftenThan”现在&lt;'lastPersistTime'+'persistPeriod'</span> </li>
</ul>
<p> <span>模型MBean的ModelMBeanInfo存储在一个文件中。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/management/DynamicMBean.html#setAttribute-javax.management.Attribute-">setAttribute</a></code>在界面
<code><a href="../../../javax/management/DynamicMBean.html" title="interface in javax.management">DynamicMBean</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>attribute</code> - 包含要设置的属性的名称和要设置的值的属性实例。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<span><code><a href="../../../javax/management/AttributeNotFoundException.html" title="class in javax.management">AttributeNotFoundException</a></code> - MBean中无法访问指定的属性。</span>
<br/>
<span>以下情况可能会导致AttributeNotFoundException</span>
<ul>
<li> <span>没有找到指定属性的ModelMBeanAttributeInfo。</span> </li>
<li> <span>ModelMBeanAttributeInfo的isWritable方法返回'false'。</span> </li>
</ul>
</dd>
<dd>
<code><a href="../../../javax/management/InvalidAttributeValueException.html" title="class in javax.management">InvalidAttributeValueException</a></code> - 没有为指定的属性定义描述符。
</dd>
<dd>
<span><code><a href="../../../javax/management/MBeanException.html" title="class in javax.management">MBeanException</a></code> - 包装以下其中一个异常:</span>
<ul>
<li> <span>被管理对象的setter抛出的异常。</span> </li>
<li> <span>A <a href="../../../javax/management/ServiceNotFoundException.html" title="javax.management中的类"><code>ServiceNotFoundException</code></a>如果setMethod字段在属性的描述符中定义并且被管理资源为null;</span> <span>或者如果没有定义setMethod字段并且没有为该属性启用缓存。</span> <span>请注意如果没有getMethod字段则会自动启用缓存。</span> </li>
<li> <span><a href="../../../javax/management/modelmbean/InvalidTargetObjectTypeException.html" title="javax.management.modelmbean中的类"><code>InvalidTargetObjectTypeException</code>'targetType</a> '字段值不是'objectReference'。</span> </li>
<li> <span>被管理对象的getter抛出的异常。</span> </li>
</ul>
</dd>
<dd>
<span><code><a href="../../../javax/management/ReflectionException.html" title="class in javax.management">ReflectionException</a></code> - 在尝试调用设置器时抛出一个<a href="../../../java/lang/Exception.html" title="java.lang中的类"><code>异常</code></a></span>
</dd>
<dd>
<span><code><a href="../../../javax/management/RuntimeOperationsException.html" title="class in javax.management">RuntimeOperationsException</a></code> - 包装<a href="../../../java/lang/IllegalArgumentException.html" title="java.lang中的类"><code>IllegalArgumentException</code></a> 参数中的属性为null。</span>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/management/modelmbean/RequiredModelMBean.html#getAttribute-java.lang.String-"><code>getAttribute(java.lang.String)</code></a>
</dd>
</dl> </li>
</ul> <a name="setAttributes-javax.management.AttributeList-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setAttributes</h4> <pre>public <a href="../../../javax/management/AttributeList.html" title="class in javax.management">AttributeList</a> setAttributes(<a href="../../../javax/management/AttributeList.html" title="class in javax.management">AttributeList</a> attributes)</pre>
<div class="block">
<span>设置此ModelBean的属性数组的值。</span>
<span>对列表中的每个属性执行setAttribute方法。</span>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/management/DynamicMBean.html#setAttributes-javax.management.AttributeList-">setAttributes</a></code>在接口
<code><a href="../../../javax/management/DynamicMBean.html" title="interface in javax.management">DynamicMBean</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>attributes</code> - 属性列表:要设置的属性的标识以及要设置的属性值。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
已设置的属性数组,其属性实例中的新值。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<span><code><a href="../../../javax/management/RuntimeOperationsException.html" title="class in javax.management">RuntimeOperationsException</a></code> - 包装<a href="../../../java/lang/IllegalArgumentException.html" title="java.lang中的类"><code>IllegalArgumentException</code></a> 参数中的对象名称为null或参数中的属性为空。</span>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/management/modelmbean/RequiredModelMBean.html#getAttributes-java.lang.String:A-"><code>getAttributes(java.lang.String[])</code></a>
</dd>
</dl> </li>
</ul> <a name="addNotificationListener-javax.management.NotificationListener-javax.management.NotificationFilter-java.lang.Object-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>addNotificationListener</h4> <pre>public void addNotificationListener(<a href="../../../javax/management/NotificationListener.html" title="interface in javax.management">NotificationListener</a> listener,
<a href="../../../javax/management/NotificationFilter.html" title="interface in javax.management">NotificationFilter</a> filter,
<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> handback)
throws <a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></pre>
<div class="block">
<span>注册一个实现NotificationListener接口的对象作为监听器。</span>
<span>当通过或通过ModelMBean发出通知时将调用此对象的'handleNotification'方法。</span>
<span>这不包括attributeChangeNotifications。</span>
<span>他们必须独立注册。</span>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/management/NotificationBroadcaster.html#addNotificationListener-javax.management.NotificationListener-javax.management.NotificationFilter-java.lang.Object-">addNotificationListener</a></code>在界面
<code><a href="../../../javax/management/NotificationBroadcaster.html" title="interface in javax.management">NotificationBroadcaster</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>listener</code> - 将处理注册MBean发出的通知的侦听器对象。
</dd>
<dd>
<span><code>filter</code> - 过滤器对象。</span>
<span>如果为空,则在处理通知之前不会执行过滤。</span>
</dd>
<dd>
<code>handback</code> - 发送通知时发送给侦听器的上下文通知。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 侦听器不能为空。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/management/modelmbean/RequiredModelMBean.html#removeNotificationListener-javax.management.NotificationListener-"><code>removeNotificationListener(javax.management.NotificationListener)</code></a>
</dd>
</dl> </li>
</ul> <a name="removeNotificationListener-javax.management.NotificationListener-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>removeNotificationListener</h4> <pre>public void removeNotificationListener(<a href="../../../javax/management/NotificationListener.html" title="interface in javax.management">NotificationListener</a> listener)
throws <a href="../../../javax/management/ListenerNotFoundException.html" title="class in javax.management">ListenerNotFoundException</a></pre>
<div class="block">
从RequiredModelMBean中删除通知的侦听器。
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/management/NotificationBroadcaster.html#removeNotificationListener-javax.management.NotificationListener-">removeNotificationListener</a></code>在界面
<code><a href="../../../javax/management/NotificationBroadcaster.html" title="interface in javax.management">NotificationBroadcaster</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>listener</code> - 处理由注册MBean发出的通知的侦听器名称。</span>
<span>此方法将删除与此侦听器相关的所有信息。</span>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/management/ListenerNotFoundException.html" title="class in javax.management">ListenerNotFoundException</a></code> - 监听器未在MBean中注册或为空。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/management/modelmbean/RequiredModelMBean.html#addNotificationListener-javax.management.NotificationListener-javax.management.NotificationFilter-java.lang.Object-"><code>addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)</code></a>
</dd>
</dl> </li>
</ul> <a name="removeNotificationListener-javax.management.NotificationListener-javax.management.NotificationFilter-java.lang.Object-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>removeNotificationListener</h4> <pre>public void removeNotificationListener(<a href="../../../javax/management/NotificationListener.html" title="interface in javax.management">NotificationListener</a> listener,
<a href="../../../javax/management/NotificationFilter.html" title="interface in javax.management">NotificationFilter</a> filter,
<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> handback)
throws <a href="../../../javax/management/ListenerNotFoundException.html" title="class in javax.management">ListenerNotFoundException</a></pre>
<div class="block">
<span class="descfrmTypeLabel">描述从界面: <code><a href="../../../javax/management/NotificationEmitter.html#removeNotificationListener-javax.management.NotificationListener-javax.management.NotificationFilter-java.lang.Object-">NotificationEmitter</a></code>复制</span>
</div>
<div class="block">
<p> <span>从这个MBean中删除一个监听器。</span> <span>该MBean必须有一个与给定匹配的侦听<code>listener</code> <code>filter</code><code>handback</code>参数。</span> <span>如果有多个这样的听众,只有一个被删除。</span> </p>
<p> <span><code>filter</code><code>handback</code>参数当且仅当在要删除的侦听器中为空时才可以为空。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/management/NotificationEmitter.html#removeNotificationListener-javax.management.NotificationListener-javax.management.NotificationFilter-java.lang.Object-">removeNotificationListener</a></code>在界面
<code><a href="../../../javax/management/NotificationEmitter.html" title="interface in javax.management">NotificationEmitter</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>listener</code> - 以前添加到此MBean的侦听器。
</dd>
<dd>
<code>filter</code> - 添加侦听器时指定的过滤器。
</dd>
<dd>
<code>handback</code> - 添加侦听器时指定的回调。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/management/ListenerNotFoundException.html" title="class in javax.management">ListenerNotFoundException</a></code> - 监听器未注册到MBean或者没有向给定的过滤器和回传注册。
</dd>
</dl> </li>
</ul> <a name="sendNotification-javax.management.Notification-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>sendNotification</h4> <pre>public void sendNotification(<a href="../../../javax/management/Notification.html" title="class in javax.management">Notification</a> ntfyObj)
throws <a href="../../../javax/management/MBeanException.html" title="class in javax.management">MBeanException</a>,
<a href="../../../javax/management/RuntimeOperationsException.html" title="class in javax.management">RuntimeOperationsException</a></pre>
<div class="block">
<span class="descfrmTypeLabel">说明从界面: <code><a href="../../../javax/management/modelmbean/ModelMBeanNotificationBroadcaster.html#sendNotification-javax.management.Notification-">ModelMBeanNotificationBroadcaster</a></code>复制</span>
</div>
<div class="block">
发送通知该通知将作为jmx.modelmbean.generic通知传递给ModelMBean上的注册通知侦听器。
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/management/modelmbean/ModelMBeanNotificationBroadcaster.html#sendNotification-javax.management.Notification-">sendNotification</a></code>在界面
<code><a href="../../../javax/management/modelmbean/ModelMBeanNotificationBroadcaster.html" title="interface in javax.management.modelmbean">ModelMBeanNotificationBroadcaster</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>ntfyObj</code> - 要传递给侦听器对象的“handleNotification”方法的通知。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/management/MBeanException.html" title="class in javax.management">MBeanException</a></code> - 包裹分布式通信异常。
</dd>
<dd>
<code><a href="../../../javax/management/RuntimeOperationsException.html" title="class in javax.management">RuntimeOperationsException</a></code> - 包裹一个IllegalArgumentException在参数中传递的Notification对象为null。
</dd>
</dl> </li>
</ul> <a name="sendNotification-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>sendNotification</h4> <pre>public void sendNotification(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> ntfyText)
throws <a href="../../../javax/management/MBeanException.html" title="class in javax.management">MBeanException</a>,
<a href="../../../javax/management/RuntimeOperationsException.html" title="class in javax.management">RuntimeOperationsException</a></pre>
<div class="block">
<span class="descfrmTypeLabel">说明从界面: <code><a href="../../../javax/management/modelmbean/ModelMBeanNotificationBroadcaster.html#sendNotification-java.lang.String-">ModelMBeanNotificationBroadcaster</a></code>复制</span>
</div>
<div class="block">
发送一个通知其中包含传递给ModelMBean上注册的通知侦听器的文本字符串。
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/management/modelmbean/ModelMBeanNotificationBroadcaster.html#sendNotification-java.lang.String-">sendNotification</a></code>在界面
<code><a href="../../../javax/management/modelmbean/ModelMBeanNotificationBroadcaster.html" title="interface in javax.management.modelmbean">ModelMBeanNotificationBroadcaster</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>ntfyText</code> - 要在通知中传递给侦听器对象的“handleNotification”方法的文本。</span>
<span>构造的通知将是键入“jmx.modelmbean.generic”源此ModelMBean实例序列1</span>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/management/MBeanException.html" title="class in javax.management">MBeanException</a></code> - 包裹分布式通信异常。
</dd>
<dd>
<code><a href="../../../javax/management/RuntimeOperationsException.html" title="class in javax.management">RuntimeOperationsException</a></code> - 包裹一个IllegalArgumentException参数中传递的Notification文本字符串为null。
</dd>
</dl> </li>
</ul> <a name="getNotificationInfo--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getNotificationInfo</h4> <pre>public <a href="../../../javax/management/MBeanNotificationInfo.html" title="class in javax.management">MBeanNotificationInfo</a>[] getNotificationInfo()</pre>
<div class="block">
<span>返回始终由RequiredModelMBean生成的通知数组。</span>
<p> <span>RequiredModelMBean可能还会再发送两个附加通知</span> </p>
<ul>
<li> <span>一个与描述<code>"name=GENERIC,descriptorType=notification,log=T,severity=6,displayName=jmx.modelmbean.generic"</code></span> </li>
<li> <span>第二个是具有描述<code>"name=ATTRIBUTE_CHANGE,descriptorType=notification,log=T,severity=6,displayName=jmx.attribute.change"</code>的标准属性更改<code>"name=ATTRIBUTE_CHANGE,descriptorType=notification,log=T,severity=6,displayName=jmx.attribute.change"</code></span> </li>
</ul>
<span>因此,这两个通知总是添加到应用程序指定的那些。</span>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/management/NotificationBroadcaster.html#getNotificationInfo--">getNotificationInfo</a></code>在界面
<code><a href="../../../javax/management/NotificationBroadcaster.html" title="interface in javax.management">NotificationBroadcaster</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
MBeanNotificationInfo []
</dd>
</dl> </li>
</ul> <a name="addAttributeChangeNotificationListener-javax.management.NotificationListener-java.lang.String-java.lang.Object-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>addAttributeChangeNotificationListener</h4> <pre>public void addAttributeChangeNotificationListener(<a href="../../../javax/management/NotificationListener.html" title="interface in javax.management">NotificationListener</a> inlistener,
<a href="../../../java/lang/String.html" title="class in java.lang">String</a> inAttributeName,
<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> inhandback)
throws <a href="../../../javax/management/MBeanException.html" title="class in javax.management">MBeanException</a>,
<a href="../../../javax/management/RuntimeOperationsException.html" title="class in javax.management">RuntimeOperationsException</a>,
<a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></pre>
<div class="block">
<span class="descfrmTypeLabel">说明从界面: <code><a href="../../../javax/management/modelmbean/ModelMBeanNotificationBroadcaster.html#addAttributeChangeNotificationListener-javax.management.NotificationListener-java.lang.String-java.lang.Object-">ModelMBeanNotificationBroadcaster</a></code>复制</span>
</div>
<div class="block">
<span>注册一个实现NotificationListener接口的对象作为监听器。</span>
<span>当通过或通过ModelMBean发出任何attributeChangeNotification时将调用此对象的'handleNotification'方法。</span>
<span>这不包括其他通知。</span>
<span>他们必须独立注册。</span>
<span>将为此attributeName生成AttributeChangeNotification。</span>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/management/modelmbean/ModelMBeanNotificationBroadcaster.html#addAttributeChangeNotificationListener-javax.management.NotificationListener-java.lang.String-java.lang.Object-">addAttributeChangeNotificationListener</a></code>在界面
<code><a href="../../../javax/management/modelmbean/ModelMBeanNotificationBroadcaster.html" title="interface in javax.management.modelmbean">ModelMBeanNotificationBroadcaster</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>inlistener</code> - 将处理由注册MBean发出的通知的侦听器对象。
</dd>
<dd>
<span><code>inAttributeName</code> - 要接收更改通知的ModelMBean属性的名称。</span>
<span>如果为null则所有属性更改将导致发出attributeChangeNotification。</span>
</dd>
<dd>
<code>inhandback</code> - 发出通知时发送给侦听器的上下文通知。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/management/MBeanException.html" title="class in javax.management">MBeanException</a></code> - 包装分布式通信异常。
</dd>
<dd>
<code><a href="../../../javax/management/RuntimeOperationsException.html" title="class in javax.management">RuntimeOperationsException</a></code> - 包裹一个IllegalArgumentException参数中传递的属性名称不存在。
</dd>
<dd>
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 侦听器不能为null。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/management/modelmbean/ModelMBeanNotificationBroadcaster.html#removeAttributeChangeNotificationListener-javax.management.NotificationListener-java.lang.String-"><code>ModelMBeanNotificationBroadcaster.removeAttributeChangeNotificationListener(javax.management.NotificationListener, java.lang.String)</code></a>
</dd>
</dl> </li>
</ul> <a name="removeAttributeChangeNotificationListener-javax.management.NotificationListener-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>removeAttributeChangeNotificationListener</h4> <pre>public void removeAttributeChangeNotificationListener(<a href="../../../javax/management/NotificationListener.html" title="interface in javax.management">NotificationListener</a> inlistener,
<a href="../../../java/lang/String.html" title="class in java.lang">String</a> inAttributeName)
throws <a href="../../../javax/management/MBeanException.html" title="class in javax.management">MBeanException</a>,
<a href="../../../javax/management/RuntimeOperationsException.html" title="class in javax.management">RuntimeOperationsException</a>,
<a href="../../../javax/management/ListenerNotFoundException.html" title="class in javax.management">ListenerNotFoundException</a></pre>
<div class="block">
<span class="descfrmTypeLabel">说明从界面: <code><a href="../../../javax/management/modelmbean/ModelMBeanNotificationBroadcaster.html#removeAttributeChangeNotificationListener-javax.management.NotificationListener-java.lang.String-">ModelMBeanNotificationBroadcaster</a></code>复制</span>
</div>
<div class="block">
从RequiredModelMBean中删除attributeChangeNotifications的侦听器。
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/management/modelmbean/ModelMBeanNotificationBroadcaster.html#removeAttributeChangeNotificationListener-javax.management.NotificationListener-java.lang.String-">removeAttributeChangeNotificationListener</a></code>在界面
<code><a href="../../../javax/management/modelmbean/ModelMBeanNotificationBroadcaster.html" title="interface in javax.management.modelmbean">ModelMBeanNotificationBroadcaster</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>inlistener</code> - 处理由注册MBean发出的通知的侦听器名称。</span>
<span>此方法将删除与此侦听器相关的所有信息。</span>
</dd>
<dd>
<span><code>inAttributeName</code> - 侦听器不再需要接收attributeChangeNotifications的属性。</span>
<span>如果为null则将为所有attributeChangeNotifications移除侦听器。</span>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/management/MBeanException.html" title="class in javax.management">MBeanException</a></code> - 包装分布式通信异常。
</dd>
<dd>
<code><a href="../../../javax/management/RuntimeOperationsException.html" title="class in javax.management">RuntimeOperationsException</a></code> - 包裹一个IllegalArgumentException如果inAttributeName参数与属性名称不对应。
</dd>
<dd>
<code><a href="../../../javax/management/ListenerNotFoundException.html" title="class in javax.management">ListenerNotFoundException</a></code> - 监听器未在MBean中注册或为空。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../javax/management/modelmbean/ModelMBeanNotificationBroadcaster.html#addAttributeChangeNotificationListener-javax.management.NotificationListener-java.lang.String-java.lang.Object-"><code>ModelMBeanNotificationBroadcaster.addAttributeChangeNotificationListener(javax.management.NotificationListener, java.lang.String, java.lang.Object)</code></a>
</dd>
</dl> </li>
</ul> <a name="sendAttributeChangeNotification-javax.management.AttributeChangeNotification-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>sendAttributeChangeNotification</h4> <pre>public void sendAttributeChangeNotification(<a href="../../../javax/management/AttributeChangeNotification.html" title="class in javax.management">AttributeChangeNotification</a> ntfyObj)
throws <a href="../../../javax/management/MBeanException.html" title="class in javax.management">MBeanException</a>,
<a href="../../../javax/management/RuntimeOperationsException.html" title="class in javax.management">RuntimeOperationsException</a></pre>
<div class="block">
<span class="descfrmTypeLabel">说明从界面: <code><a href="../../../javax/management/modelmbean/ModelMBeanNotificationBroadcaster.html#sendAttributeChangeNotification-javax.management.AttributeChangeNotification-">ModelMBeanNotificationBroadcaster</a></code>复制</span>
</div>
<div class="block">
发送一个attributeChangeNotification该属性传递给ModelMBean上注册的attributeChangeNotification侦听器。
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/management/modelmbean/ModelMBeanNotificationBroadcaster.html#sendAttributeChangeNotification-javax.management.AttributeChangeNotification-">sendAttributeChangeNotification</a></code>在界面
<code><a href="../../../javax/management/modelmbean/ModelMBeanNotificationBroadcaster.html" title="interface in javax.management.modelmbean">ModelMBeanNotificationBroadcaster</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>ntfyObj</code> - 要传递给侦听器对象的“handleNotification”方法的通知。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/management/MBeanException.html" title="class in javax.management">MBeanException</a></code> - 包裹分布式通信异常。
</dd>
<dd>
<code><a href="../../../javax/management/RuntimeOperationsException.html" title="class in javax.management">RuntimeOperationsException</a></code> - 包裹一个IllegalArgumentException参数中传递的AttributeChangeNotification对象为null。
</dd>
</dl> </li>
</ul> <a name="sendAttributeChangeNotification-javax.management.Attribute-javax.management.Attribute-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>sendAttributeChangeNotification</h4> <pre>public void sendAttributeChangeNotification(<a href="../../../javax/management/Attribute.html" title="class in javax.management">Attribute</a> inOldVal,
<a href="../../../javax/management/Attribute.html" title="class in javax.management">Attribute</a> inNewVal)
throws <a href="../../../javax/management/MBeanException.html" title="class in javax.management">MBeanException</a>,
<a href="../../../javax/management/RuntimeOperationsException.html" title="class in javax.management">RuntimeOperationsException</a></pre>
<div class="block">
<span class="descfrmTypeLabel">说明从界面: <code><a href="../../../javax/management/modelmbean/ModelMBeanNotificationBroadcaster.html#sendAttributeChangeNotification-javax.management.Attribute-javax.management.Attribute-">ModelMBeanNotificationBroadcaster</a></code>复制</span>
</div>
<div class="block">
发送一个attributeChangeNotification其中包含该属性的旧值和新值到ModelMBean上注册的AttributeChangeNotification侦听器。
<p></p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/management/modelmbean/ModelMBeanNotificationBroadcaster.html#sendAttributeChangeNotification-javax.management.Attribute-javax.management.Attribute-">sendAttributeChangeNotification</a></code>在界面
<code><a href="../../../javax/management/modelmbean/ModelMBeanNotificationBroadcaster.html" title="interface in javax.management.modelmbean">ModelMBeanNotificationBroadcaster</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>inOldVal</code> -
<code>inOldVal</code>的原始值
</dd>
<dd>
<span><code>inNewVal</code> - <code>inNewVal</code>的当前值</span>
<pre> <span>The constructed attributeChangeNotification will be:
type "jmx.attribute.change"
source this ModelMBean instance
sequence 1
attributeName oldValue.getName()
attributeType oldValue's class
attributeOldValue oldValue.getValue()
attributeNewValue newValue.getValue()</span> </pre>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/management/MBeanException.html" title="class in javax.management">MBeanException</a></code> - 包装分布式通信异常。
</dd>
<dd>
<code><a href="../../../javax/management/RuntimeOperationsException.html" title="class in javax.management">RuntimeOperationsException</a></code> - 包裹一个IllegalArgumentException在参数中传递的属性对象为null或参数中两个Attribute对象的名称不相同。
</dd>
</dl> </li>
</ul> <a name="getClassLoaderRepository--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getClassLoaderRepository</h4> <pre>protected <a href="../../../javax/management/loading/ClassLoaderRepository.html" title="interface in javax.management.loading">ClassLoaderRepository</a> getClassLoaderRepository()</pre>
<div class="block">
<span>返回用于执行类加载的Class Loader Repository。</span>
<span>子类可能希望重新定义此方法,以返回应在此对象中使用的适当的<a href="../../../javax/management/loading/ClassLoaderRepository.html" title="javax.management.loading中的接口"><code>ClassLoaderRepository</code></a></span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
Class Loader Repository。
</dd>
</dl> </li>
</ul> <a name="preRegister-javax.management.MBeanServer-javax.management.ObjectName-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>preRegister</h4> <pre>public <a href="../../../javax/management/ObjectName.html" title="class in javax.management">ObjectName</a> preRegister(<a href="../../../javax/management/MBeanServer.html" title="interface in javax.management">MBeanServer</a> server,
<a href="../../../javax/management/ObjectName.html" title="class in javax.management">ObjectName</a> name)
throws <a href="../../../java/lang/Exception.html" title="class in java.lang">异常</a></pre>
<div class="block">
<span>允许MBean在MBean服务器注册之前执行所需的任何操作。</span>
<span>如果未指定MBean的名称则MBean可以为其注册提供一个名称。</span>
<span>如果引发异常MBean将不会在MBean服务器中注册。</span>
<p> <span>为了确保RequireModelMBean的正常运行时间的语义RequiredModelMBean的任何子类重载或重写此方法应调用<code>super.preRegister(server, name)</code>在自己<code>preRegister</code>实现。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/management/MBeanRegistration.html#preRegister-javax.management.MBeanServer-javax.management.ObjectName-">preRegister</a></code>在界面
<code><a href="../../../javax/management/MBeanRegistration.html" title="interface in javax.management">MBeanRegistration</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>server</code> - MBean将在其中
<code>server</code>的MBean服务器。
</dd>
<dd>
<span><code>name</code> - MBean的对象名称。</span>
<span>此名称为null如果名称参数的一个<code>createMBean</code><code>registerMBean</code>方法在<a href="../../../javax/management/MBeanServer.html" title="javax.management中的接口"><code>MBeanServer</code></a>接口为空。</span>
<span>在这种情况下此方法必须为新的MBean返回非空的ObjectName。</span>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>要注册MBean的名称。</span>
<span>此值不能为空。</span>
<span>如果<code>name</code>参数不为空,则通常不一定是返回值。</span>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<span><code><a href="../../../java/lang/Exception.html" title="class in java.lang">异常</a></code> - 此异常将被MBean服务器捕获并重新抛出为<a href="../../../javax/management/MBeanRegistrationException.html" title="javax.management中的类"><code>MBeanRegistrationException</code></a></span>
</dd>
</dl> </li>
</ul> <a name="postRegister-java.lang.Boolean-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>postRegister</h4> <pre>public void postRegister(<a href="../../../java/lang/Boolean.html" title="class in java.lang">Boolean</a> registrationDone)</pre>
<div class="block">
<span>允许MBean在MBean服务器中注册或注册失败后执行所需的操作。</span>
<p> <span>为了确保RequireModelMBean的正常运行时间的语义RequiredModelMBean的任何子类重载或重写此方法应调用<code>super.postRegister(registrationDone)</code>在自己<code>postRegister</code>实现。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/management/MBeanRegistration.html#postRegister-java.lang.Boolean-">postRegister</a></code>在界面
<code><a href="../../../javax/management/MBeanRegistration.html" title="interface in javax.management">MBeanRegistration</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>registrationDone</code> - 指示MBean是否已成功注册到MBean服务器中。</span>
<span>值false表示注册阶段失败。</span>
</dd>
</dl> </li>
</ul> <a name="preDeregister--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>preDeregister</h4> <pre>public void preDeregister()
throws <a href="../../../java/lang/Exception.html" title="class in java.lang">异常</a></pre>
<div class="block">
<span>允许MBean在MBean服务器取消注册之前执行所需的任何操作。</span>
<p> <span>为了确保RequireModelMBean的正常运行时间的语义RequiredModelMBean的任何子类重载或重写此方法应调用<code>super.preDeregister()</code>在自己<code>preDeregister</code>实现。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/management/MBeanRegistration.html#preDeregister--">preDeregister</a></code>在界面
<code><a href="../../../javax/management/MBeanRegistration.html" title="interface in javax.management">MBeanRegistration</a></code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<span><code><a href="../../../java/lang/Exception.html" title="class in java.lang">异常</a></code> - 此异常将被MBean服务器捕获并重新抛出为<a href="../../../javax/management/MBeanRegistrationException.html" title="javax.management中的类"><code>MBeanRegistrationException</code></a></span>
</dd>
</dl> </li>
</ul> <a name="postDeregister--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>postDeregister</h4> <pre>public void postDeregister()</pre>
<div class="block">
<span>允许MBean在MBean服务器中取消注册后执行所需的任何操作。</span>
<p> <span>为了确保RequireModelMBean的正常运行时间的语义RequiredModelMBean的任何子类重载或重写此方法应调用<code>super.postDeregister()</code>在自己<code>postDeregister</code>实现。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/management/MBeanRegistration.html#postDeregister--">postDeregister</a></code>在界面
<code><a href="../../../javax/management/MBeanRegistration.html" title="interface in javax.management">MBeanRegistration</a></code>
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>