303 lines
19 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">
<h1 class="title" title="Package">Package javax.management.openmbean</h1>
<div class="docSummary">
<div class="block">
提供打开的数据类型和Open MBean描述符类。
</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/openmbean/CompositeData.html" title="interface in javax.management.openmbean">CompositeData</a></td>
<td class="colLast">
<div class="block">
所述
<tt>CompositeData</tt>接口指定一个特定类型的表示
<i>复合数据</i>结构的复杂
<i>开放数据</i>对象的行为。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../javax/management/openmbean/CompositeDataView.html" title="interface in javax.management.openmbean">CompositeDataView</a></td>
<td class="colLast">
<div class="block">
一个Java类可以实现此接口以表明它是如何被转化为
<code>CompositeData</code>通过MXBean框架。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../javax/management/openmbean/OpenMBeanAttributeInfo.html" title="interface in javax.management.openmbean">OpenMBeanAttributeInfo</a></td>
<td class="colLast">
<div class="block">
描述一个打开的MBean的属性。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../javax/management/openmbean/OpenMBeanConstructorInfo.html" title="interface in javax.management.openmbean">OpenMBeanConstructorInfo</a></td>
<td class="colLast">
<div class="block">
描述一个开放MBean的构造函数。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../javax/management/openmbean/OpenMBeanInfo.html" title="interface in javax.management.openmbean">OpenMBeanInfo</a></td>
<td class="colLast">
<div class="block">
<span>描述一个开放的MBean一个开放的MBean被识别为如果它的<a href="../../../javax/management/DynamicMBean.html#getMBeanInfo--"><code>getMBeanInfo()</code></a>方法返回一个类的实例实现<a href="../../../javax/management/openmbean/OpenMBeanInfo.html" title="javax.management.openmbean中的接口"><code>OpenMBeanInfo</code></a>接口,通常是<a href="../../../javax/management/openmbean/OpenMBeanInfoSupport.html" title="javax.management.openmbean中的类"><code>OpenMBeanInfoSupport</code></a></span>
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../javax/management/openmbean/OpenMBeanOperationInfo.html" title="interface in javax.management.openmbean">OpenMBeanOperationInfo</a></td>
<td class="colLast">
<div class="block">
描述一个Open MBean的操作。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../javax/management/openmbean/OpenMBeanParameterInfo.html" title="interface in javax.management.openmbean">OpenMBeanParameterInfo</a></td>
<td class="colLast">
<div class="block">
描述在开放MBean的一个或多个操作或构造函数中使用的参数。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../javax/management/openmbean/TabularData.html" title="interface in javax.management.openmbean">TabularData</a></td>
<td class="colLast">
<div class="block">
<tt>TabularData</tt>接口指定表示
<i>表格数据</i>结构的特定类型的复杂
<i>开放数据</i>对象的行为。
</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/openmbean/ArrayType.html" title="class in javax.management.openmbean">ArrayType</a>&lt;T&gt;</td>
<td class="colLast">
<div class="block">
所述
<code>ArrayType</code>类是
<i>开放类型</i>类,其实例描述了作为
<i>开放数据</i>值的n维阵列所有
<i>打开</i>
<i>数据</i>值。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../javax/management/openmbean/CompositeDataInvocationHandler.html" title="class in javax.management.openmbean">CompositeDataInvocationHandler</a></td>
<td class="colLast">
<div class="block">
<span>一个<a href="../../../java/lang/reflect/InvocationHandler.html" title="java.lang.reflect中的接口"><code>InvocationHandler</code></a>将getter方法转发到一个<a href="../../../javax/management/openmbean/CompositeData.html" title="javax.management.openmbean中的接口"><code>CompositeData</code></a></span>
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../javax/management/openmbean/CompositeDataSupport.html" title="class in javax.management.openmbean">CompositeDataSupport</a></td>
<td class="colLast">
<div class="block">
<tt>CompositeDataSupport</tt>类是实现
<tt>CompositeData</tt>接口的
<i>开放数据</i>类。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../javax/management/openmbean/CompositeType.html" title="class in javax.management.openmbean">CompositeType</a></td>
<td class="colLast">
<div class="block">
<span><code>CompositeType</code>类是其实例描述的类型为<a href="../../../javax/management/openmbean/CompositeData.html" title="javax.management.openmbean中的接口"><code>CompositeData</code></a><i>开放式</i>类。</span>
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../javax/management/openmbean/OpenMBeanAttributeInfoSupport.html" title="class in javax.management.openmbean">OpenMBeanAttributeInfoSupport</a></td>
<td class="colLast">
<div class="block">
描述一个打开的MBean的属性。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../javax/management/openmbean/OpenMBeanConstructorInfoSupport.html" title="class in javax.management.openmbean">OpenMBeanConstructorInfoSupport</a></td>
<td class="colLast">
<div class="block">
描述一个开放MBean的构造函数。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../javax/management/openmbean/OpenMBeanInfoSupport.html" title="class in javax.management.openmbean">OpenMBeanInfoSupport</a></td>
<td class="colLast">
<div class="block">
<span><code>OpenMBeanInfoSupport</code>类描述了一个<i>开放的MBean的管理信息</i> :它是一个<a href="../../../javax/management/MBeanInfo.html" title="javax.management中的类"><code>MBeanInfo</code></a>的子类,它实现了<a href="../../../javax/management/openmbean/OpenMBeanInfo.html" title="javax.management.openmbean中的接口"><code>OpenMBeanInfo</code></a>接口。</span>
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../javax/management/openmbean/OpenMBeanOperationInfoSupport.html" title="class in javax.management.openmbean">OpenMBeanOperationInfoSupport</a></td>
<td class="colLast">
<div class="block">
描述一个Open MBean的操作。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../javax/management/openmbean/OpenMBeanParameterInfoSupport.html" title="class in javax.management.openmbean">OpenMBeanParameterInfoSupport</a></td>
<td class="colLast">
<div class="block">
描述在开放MBean的一个或多个操作或构造函数中使用的参数。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../javax/management/openmbean/OpenType.html" title="class in javax.management.openmbean">OpenType</a>&lt;T&gt;</td>
<td class="colLast">
<div class="block">
<code>OpenType</code>类是描述开放数据值的实际
<i>开放类型</i>的所有类的父抽象类。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../javax/management/openmbean/SimpleType.html" title="class in javax.management.openmbean">SimpleType</a>&lt;T&gt;</td>
<td class="colLast">
<div class="block">
<span><code>SimpleType</code>类是<i>开放式</i>类,其实例描述了既不是数组,也不是<a href="../../../javax/management/openmbean/CompositeData.html" title="javax.management.openmbean中的接口"><code>CompositeData</code></a>值的所有<i>打开的数据</i>值,也不<a href="../../../javax/management/openmbean/TabularData.html" title="javax.management.openmbean中的接口">包括<code>TabularData</code></a>值。</span>
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../javax/management/openmbean/TabularDataSupport.html" title="class in javax.management.openmbean">TabularDataSupport</a></td>
<td class="colLast">
<div class="block">
<tt>TabularDataSupport</tt>类是
<i>开放数据</i>类,它实现了
<tt>TabularData</tt>
<tt>Map</tt>接口,内部基于哈希映射数据结构。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../javax/management/openmbean/TabularType.html" title="class in javax.management.openmbean">TabularType</a></td>
<td class="colLast">
<div class="block">
<span><code>TabularType</code>类是<i>开放</i>类,其实例描述了<a href="../../../javax/management/openmbean/TabularData.html" title="javax.management.openmbean中的接口"><code>TabularData</code></a>值的类型。</span>
</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/openmbean/InvalidKeyException.html" title="class in javax.management.openmbean">InvalidKeyException</a></td>
<td class="colLast">
<div class="block">
抛出此运行时异常以指示预期为
<i>复合数据</i>的项名称或
<i>表格数据</i>的行索引的方法
<i>参数</i>无效。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../javax/management/openmbean/InvalidOpenTypeException.html" title="class in javax.management.openmbean">InvalidOpenTypeException</a></td>
<td class="colLast">
<div class="block">
抛出此运行时异常以指示
<i>打开的类型</i>
<i>打开数据</i>值不是预期的。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../javax/management/openmbean/KeyAlreadyExistsException.html" title="class in javax.management.openmbean">KeyAlreadyExistsException</a></td>
<td class="colLast">
<div class="block">
抛出此运行时异常以指示要添加到
<i>表格数据</i>实例的行的索引已被用于引用此
<i>表格数据</i>实例中的另一行。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../javax/management/openmbean/OpenDataException.html" title="class in javax.management.openmbean">OpenDataException</a></td>
<td class="colLast">
<div class="block">
<i>打开类型</i>
<i>打开数据</i>
<i>打开的MBean元数据信息</i>实例无法构造时,抛出此检查的异常,因为一个或多个有效性约束不被满足。
</div> </td>
</tr>
</tbody>
</table> </li>
</ul>
<a name="package.description">
<!-- --> </a>
<h2 title="Package javax.management.openmbean Description">Package javax.management.openmbean Description</h2>
<div class="block">
<p> <span>提供打开的数据类型和Open MBean描述符类。</span> <span>一个<em>开放的MBean</em>是一个MBean其中使用一小组预定义Java类构建了属性类型和操作参数和返回值。</span> <span>开放的MBeans可以帮助远程管理程序进行操作这些程序不一定能够访问特定于应用程序的类型包括非Java程序。</span> </p>
<p> <span>每个MBean都有一个<a href="../../../javax/management/MBeanInfo.html" title="javax.management中的类"><code>MBeanInfo</code></a> 其中包含有关MBean本身及其属性操作构造函数和通知的信息。</span> <span>在一个开放的MBean中这个<code>MBeanInfo</code>实现了<a href="../../../javax/management/openmbean/OpenMBeanInfo.html" title="javax.management.openmbean中的接口"><code>OpenMBeanInfo</code></a>接口,通常是一个<a href="../../../javax/management/openmbean/OpenMBeanInfoSupport.html" title="javax.management.openmbean中的类"><code>OpenMBeanInfoSupport</code></a>的实例。</span> </p>
<p> <span><a href="../../../javax/management/MBeanInfo.html#getAttributes--"><code>MBeanInfo.getAttributes</code></a>为一个开放MBean返回的<a href="../../../javax/management/MBeanInfo.html#getAttributes--">属性信息</a>是实现<a href="../../../javax/management/openmbean/OpenMBeanAttributeInfo.html" title="javax.management.openmbean中的接口"><code>OpenMBeanAttributeInfo</code></a>的对象数组,通常是<code>OpenMBeanAttributeInfoSupport</code><a href="../../../javax/management/openmbean/OpenMBeanAttributeInfoSupport.html" title="javax.management.openmbean中的类">实例</a></span> <span>除了关于属性的常规信息之外, <code>OpenMBeanAttributeInfo</code>规定了<a href="../../../javax/management/openmbean/OpenType.html" title="javax.management.openmbean中的类">属性</a><code>OpenType</code></span> <span>可能的<code>OpenType</code>值是预定义的,这是确保远程管理员了解它们的。</span> </p>
<p> <span>类似的说明适用于操作和构造函数的参数类型以及返回操作类型。</span> </p>
<p> <span>有一个属性的Java语言类型之间的区别通过返回的<a href="../../../javax/management/MBeanAttributeInfo.html#getType--"><code>getType()</code></a> ,其<code>OpenType</code> ,通过返回的<a href="../../../javax/management/openmbean/OpenMBeanParameterInfo.html#getOpenType--"><code>getOpenType()</code></a></span> <span>例如如果Java语言类型为<code>java.lang.String</code> ,则<code>OpenType</code>将为<a href="../../../javax/management/openmbean/SimpleType.html#STRING"><code>SimpleType.String</code></a></span> <span>如果Java语言类型是<a href="../../../javax/management/openmbean/CompositeData.html" title="javax.management.openmbean中的接口"><code>CompositeData</code></a> ,则<code>OpenType</code>将是一个<a href="../../../javax/management/openmbean/CompositeType.html" title="javax.management.openmbean中的类"><code>CompositeType</code></a> ,描述该属性的<code>CompositeData</code>实例中的项目。</span> </p>
<h2> <span><a name="constraints">Default values and constraints</a></span> </h2>
<p> <span>在开放MBean属性和参数可以具有默认值和/或与它们在相关联的约束<code>OpenMBeanAttributeInfo</code><code>OpenMBeanParameterInfo</code></span> <span>有两种方法来指定这些约束。</span> <span>这些值直接指定为<code>OpenMBeanAttributeInfoSupport</code><code>OpenMBeanParameterInfoSupport</code>之一的构造函数的<code>OpenMBeanParameterInfoSupport</code> ,例如<a href="../../../javax/management/openmbean/OpenMBeanParameterInfoSupport.html#OpenMBeanParameterInfoSupport-java.lang.String-java.lang.String-javax.management.openmbean.OpenType-T-T:A-"><code>OpenMBeanParameterInfoSupport.OpenMBeanParameterInfoSupport( String, String, OpenType, Object, Object[])</code></a> ;</span> <span>或者这些值在作为<a href="../../../javax/management/Descriptor.html" title="javax.management中的接口">参数之一</a>给出的<a href="../../../javax/management/Descriptor.html" title="javax.management中的接口"><code>Descriptor</code></a>指定给其中一个构造函数。</span> </p>
<p> <span>当使用<code>Descriptor</code>时,感兴趣的领域是:</span> </p>
<ul>
<li> <span><code>defaultValue</code>定义由<a href="../../../javax/management/openmbean/OpenMBeanParameterInfo.html#getDefaultValue--"><code>getDefaultValue()</code></a>返回的值;</span> </li>
<li> <span><code>minValue</code>定义返回值<a href="../../../javax/management/openmbean/OpenMBeanParameterInfo.html#getMinValue--"><code>getMinValue()</code></a> ;</span> </li>
<li> <span><code>maxValue</code>定义返回的<a href="../../../javax/management/openmbean/OpenMBeanParameterInfo.html#getMaxValue--">值为<code>getMaxValue()</code></a> ;</span> </li>
<li> <span><code>legalValues</code>定义了由<a href="../../../javax/management/openmbean/OpenMBeanParameterInfo.html#getLegalValues--"><code>getLegalValues()</code></a>返回的值。</span> </li>
</ul>
<p> <span><code>defaultValue</code> <code>minValue</code><code>maxValue</code> 所述相关联的值必须是对应于该Java类型的<code>openType</code> ,或是能够被转换成类型的字符串。</span> <span>转换使用静态方法<code>valueOf(String)</code>找到一个;</span> <span>否则是一个<code>String</code>函数,如果找到一个<code>String</code>参数;</span> <span>否则失败。</span> </p>
<p> <span>对于<code>legalValues</code> ,关联值必须是数组或<code>Set</code> 并且阵列或集合的元素必须按照defaultValue等所述进行<code>defaultValue</code></span> </p>
<p> <span>以下条件必须符合以下条件:</span> </p>
<ul>
<li> <span>值必须是适当的类型,或者是可以转换为适当类型的字符串,如上所述;</span> </li>
<li> <span>如果<code>legalValues</code>存在,那么<code>minValue</code><code>maxValue</code>都不得存在;</span> </li>
<li> <span>如果<code>defaultValue</code>存在,则它必须满足定义的约束<code>legalValues</code> <code>minValue</code> ,或<code>maxValue</code>当任何这些也存在;</span> </li>
<li> <span>如果<code>minValue</code><code>maxValue</code>都存在,那么<code>minValue</code>不能大于<code>maxValue</code></span> </li>
</ul>
</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</a>
</dd>
</dl>
</div>