184 lines
14 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="Interface ModelMBean">Interface ModelMBean</h2>
</div><div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>
All Superinterfaces:
</dt>
<dd>
<span><a href="../../../javax/management/DynamicMBean.html" title="javax.management中的接口">DynamicMBean</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/PersistentMBean.html" title="javax.management中的接口">PersistentMBean</a></span>
</dd>
</dl>
<dl>
<dt>
所有已知实现类:
</dt>
<dd>
<span><a href="../../../javax/management/modelmbean/RequiredModelMBean.html" title="javax.management.modelmbean中的类">RequiredModelMBean</a></span>
</dd>
</dl>
<hr/> <br/> <pre>public interface <span class="typeNameLabel">ModelMBean</span>
extends <a href="../../../javax/management/DynamicMBean.html" title="interface in javax.management">DynamicMBean</a>, <a href="../../../javax/management/PersistentMBean.html" title="interface in javax.management">PersistentMBean</a>, <a href="../../../javax/management/modelmbean/ModelMBeanNotificationBroadcaster.html" title="interface in javax.management.modelmbean">ModelMBeanNotificationBroadcaster</a></pre>
<div class="block">
<span>该接口必须由ModelMBeans实现。</span>
<span>每个JMX代理必须随附此接口的实现。</span>
<p> <span>希望可管理的Java资源使用MBeanServer的createMBean方法实例化ModelMBean。</span> <span>资源然后设置ModelMBean实例的ModelMBeanInfo带描述符</span> <span>通过ModelMBeanInfo为ModelMBean公开的属性和操作可以从MBean连接器/适配器如其他MBean访问。</span> <span>通过ModelMBeanInfo描述符可以将托管应用程序中的值和方法定义并映射到ModelMBean的属性和操作。</span> <span>该映射可以在XML格式化文件的开发过程中进行定义也可以在运行时以动态和编程方式定义。</span> </p>
<p> <span>在MBeanServer中实例化的每个ModelMBean变得可管理通过连接到该MBeanServer的连接器/适配器,其属性和操作可以远程访问。</span> <span>除非是符合JMX的MBean否则不能在MBeanServer中注册Java对象。</span> <span>通过实例化一个ModelMBean资源保证MBean有效。</span> </p>
<p> <span>必须在每个公共方法上抛出MBeanException和RuntimeOperationsException。</span> <span>这允许从分布式通信RMIEJB等中包装异常。</span> <span>除了在规范和javadoc中描述的场景之外这些异常不必由实现抛出。</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">
<!-- ========== 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="t3"><span><a href="javascript:show(4);">抽象方法</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/ModelMBean.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="i1">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/modelmbean/ModelMBean.html#setModelMBeanInfo-javax.management.modelmbean.ModelMBeanInfo-">setModelMBeanInfo</a></span>(<a href="../../../javax/management/modelmbean/ModelMBeanInfo.html" title="interface in javax.management.modelmbean">ModelMBeanInfo</a> inModelMBeanInfo)</code>
<div class="block">
使用传入的ModelMBeanInfo初始化一个ModelMBean对象。
</div> </td>
</tr>
</tbody>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.javax.management.DynamicMBean">
<!-- --> </a> <h3>Methods inherited from interface javax.management.<a href="../../../javax/management/DynamicMBean.html" title="interface in javax.management">DynamicMBean</a></h3> <code><a href="../../../javax/management/DynamicMBean.html#getAttribute-java.lang.String-">getAttribute</a>, <a href="../../../javax/management/DynamicMBean.html#getAttributes-java.lang.String:A-">getAttributes</a>, <a href="../../../javax/management/DynamicMBean.html#getMBeanInfo--">getMBeanInfo</a>, <a href="../../../javax/management/DynamicMBean.html#invoke-java.lang.String-java.lang.Object:A-java.lang.String:A-">invoke</a>, <a href="../../../javax/management/DynamicMBean.html#setAttribute-javax.management.Attribute-">setAttribute</a>, <a href="../../../javax/management/DynamicMBean.html#setAttributes-javax.management.AttributeList-">setAttributes</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.javax.management.PersistentMBean">
<!-- --> </a> <h3>Methods inherited from interface javax.management.<a href="../../../javax/management/PersistentMBean.html" title="interface in javax.management">PersistentMBean</a></h3> <code><a href="../../../javax/management/PersistentMBean.html#load--">load</a>, <a href="../../../javax/management/PersistentMBean.html#store--">store</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.javax.management.modelmbean.ModelMBeanNotificationBroadcaster">
<!-- --> </a> <h3>Methods inherited from interface javax.management.modelmbean.<a href="../../../javax/management/modelmbean/ModelMBeanNotificationBroadcaster.html" title="interface in javax.management.modelmbean">ModelMBeanNotificationBroadcaster</a></h3> <code><a href="../../../javax/management/modelmbean/ModelMBeanNotificationBroadcaster.html#addAttributeChangeNotificationListener-javax.management.NotificationListener-java.lang.String-java.lang.Object-">addAttributeChangeNotificationListener</a>, <a href="../../../javax/management/modelmbean/ModelMBeanNotificationBroadcaster.html#removeAttributeChangeNotificationListener-javax.management.NotificationListener-java.lang.String-">removeAttributeChangeNotificationListener</a>, <a href="../../../javax/management/modelmbean/ModelMBeanNotificationBroadcaster.html#sendAttributeChangeNotification-javax.management.Attribute-javax.management.Attribute-">sendAttributeChangeNotification</a>, <a href="../../../javax/management/modelmbean/ModelMBeanNotificationBroadcaster.html#sendAttributeChangeNotification-javax.management.AttributeChangeNotification-">sendAttributeChangeNotification</a>, <a href="../../../javax/management/modelmbean/ModelMBeanNotificationBroadcaster.html#sendNotification-javax.management.Notification-">sendNotification</a>, <a href="../../../javax/management/modelmbean/ModelMBeanNotificationBroadcaster.html#sendNotification-java.lang.String-">sendNotification</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.javax.management.NotificationBroadcaster">
<!-- --> </a> <h3>Methods inherited from interface javax.management.<a href="../../../javax/management/NotificationBroadcaster.html" title="interface in javax.management">NotificationBroadcaster</a></h3> <code><a href="../../../javax/management/NotificationBroadcaster.html#addNotificationListener-javax.management.NotificationListener-javax.management.NotificationFilter-java.lang.Object-">addNotificationListener</a>, <a href="../../../javax/management/NotificationBroadcaster.html#getNotificationInfo--">getNotificationInfo</a>, <a href="../../../javax/management/NotificationBroadcaster.html#removeNotificationListener-javax.management.NotificationListener-">removeNotificationListener</a></code></li>
</ul> </li>
</ul> </li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ 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>void setModelMBeanInfo(<a href="../../../javax/management/modelmbean/ModelMBeanInfo.html" title="interface in javax.management.modelmbean">ModelMBeanInfo</a> inModelMBeanInfo)
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上设置那么可以向MBeanServer注册ModelMBean。</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>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>inModelMBeanInfo</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="blockListLast">
<li class="blockList"> <h4>setManagedResource</h4> <pre>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="paramLabel">参数</span>
</dt>
<dd>
<code>mr</code> - 被管理资源的对象
</dd>
<dd>
<span><code>mr_type</code> - 受管资源的引用类型。</span>
<span>可以是ObjectReferenceHandleIOREJBHandleRMIReference。</span>
<span>如果MBeanServer无法处理传入的mr_type则会抛出InvalidTargetTypeException。</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传入参数的托管资源类型为null。
</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> - 受管资源类型无法由ModelMBean或JMX Agent处理。
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>