uTools-Manuals/docs/java/javax/management/MBeanServerNotification.html

316 lines
17 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
</div>
<h2 class="title" title="Class MBeanServerNotification">Class MBeanServerNotification</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><a href="../../java/util/EventObject.html" title="class in java.util">java.util.EventObject</a></li>
<li>
<ul class="inheritance">
<li><a href="../../javax/management/Notification.html" title="class in javax.management">javax.management.Notification</a></li>
<li>
<ul class="inheritance">
<li>javax.management.MBeanServerNotification</li>
</ul> </li>
</ul> </li>
</ul> </li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>
All Implemented Interfaces:
</dt>
<dd>
<span><a href="../../java/io/Serializable.html" title="java.io中的接口">Serializable</a></span>
</dd>
</dl>
<hr/> <br/> <pre>public class <span class="typeNameLabel">MBeanServerNotification</span>
extends <a href="../../javax/management/Notification.html" title="class in javax.management">Notification</a></pre>
<div class="block">
<span>表示MBean服务器通过MBeanServerDelegate MBean发出的通知。</span>
<span>MBean服务器发出以下类型的通知MBean注册MBean注销。</span>
<p> <span>要接收MBeanServerNotifications您需要使用代表<a href="../../javax/management/MBeanServerDelegate.html" title="javax.management中的类">MBeanServer的<code>MBeanServerDelegate</code></a> MBean注册一个监听器。</span> <span>MBeanServerDelegate的ObjectName是<a href="../../javax/management/MBeanServerDelegate.html#DELEGATE_NAME"><code>MBeanServerDelegate.DELEGATE_NAME</code></a> ,它是<code>JMImplementation:type=MBeanServerDelegate</code></span> </p>
<p> <span>以下代码在MBean服务器<code>mbeanServer</code>中每次注册或未注册MBean时都会打印一条消息</span> </p>
<pre> <span>private static final NotificationListener printListener = new NotificationListener() {
public void handleNotification(Notification n, Object handback) {
if (!(n instanceof MBeanServerNotification)) {
System.out.println("Ignored notification of class " + n.getClass().getName());
return;
}
MBeanServerNotification mbsn = (MBeanServerNotification) n;
String what;
if (n.getType().equals(MBeanServerNotification.REGISTRATION_NOTIFICATION))
what = "MBean registered";
else if (n.getType().equals(MBeanServerNotification.UNREGISTRATION_NOTIFICATION))
what = "MBean unregistered";
else
what = "Unknown type " + n.getType();
System.out.println("Received MBean Server notification: " + what + ": " +
mbsn.getMBeanName());
}
};
...
mbeanServer.addNotificationListener(
MBeanServerDelegate.DELEGATE_NAME, printListener, null, null);</span> </pre>
<p id="group"> <span>不是<a href="../../javax/management/MBeanServerDelegate.html" title="javax.management中的类"><code>MBeanServerDelegate</code></a>的MBean也可能会发出MBeanServerNotifications。</span> <span>特别地MBean有一个约定为一组MBean发出一个MBeanServerNotification。</span> </p>
<p> <span>发布的MBeanServerNotification表示一组MBean的注册或注销具有以下特征</span> </p>
<ul>
<li> <span><a href="../../javax/management/Notification.html#getType--">notification type</a><code>"JMX.mbean.registered.group"</code><code>"JMX.mbean.unregistered.group"</code> ,其也可以被写入<a href="../../javax/management/MBeanServerNotification.html#REGISTRATION_NOTIFICATION"><code>REGISTRATION_NOTIFICATION</code></a> <code>+ ".group"</code><a href="../../javax/management/MBeanServerNotification.html#UNREGISTRATION_NOTIFICATION"><code>UNREGISTRATION_NOTIFICATION</code></a> <code>+ ".group"</code></span> </li>
<li> <span>它的<a href="../../javax/management/MBeanServerNotification.html#getMBeanName--">MBean name</a>是一个ObjectName模式用于选择正在注册或未注册的MBean的集合或超集</span> </li>
<li> <span><a href="../../javax/management/Notification.html#getUserData--">user data</a>可以可选地设置为ObjectName的数组其中包含所有注册或未注册的MBean的名称。</span> </li>
</ul>
<p> <span>排放这些团体注册/注销通知的MBean将在其<a href="../../javax/management/MBeanInfo.html#getNotifications--"><code>MBeanNotificationInfo</code></a>声明。</span> </p>
</div>
<dl>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.5
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../serialized-form.html#javax.management.MBeanServerNotification">Serialized Form</a>
</dd>
</dl> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- --> </a> <h3>Field Summary</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Field Summary table, listing fields, and an explanation">
<caption>
<span>Fields</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../java/lang/String.html" title="class in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/management/MBeanServerNotification.html#REGISTRATION_NOTIFICATION">REGISTRATION_NOTIFICATION</a></span></code>
<div class="block">
通知类型表示MBean已被注册。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../java/lang/String.html" title="class in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/management/MBeanServerNotification.html#UNREGISTRATION_NOTIFICATION">UNREGISTRATION_NOTIFICATION</a></span></code>
<div class="block">
指示MBean已注销的通知类型。
</div> </td>
</tr>
</tbody>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.javax.management.Notification">
<!-- --> </a> <h3>Fields inherited from class javax.management.<a href="../../javax/management/Notification.html" title="class in javax.management">Notification</a></h3> <code><a href="../../javax/management/Notification.html#source">source</a></code></li>
</ul> </li>
</ul>
<!-- ======== 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/MBeanServerNotification.html#MBeanServerNotification-java.lang.String-java.lang.Object-long-javax.management.ObjectName-">MBeanServerNotification</a></span>(<a href="../../java/lang/String.html" title="class in java.lang">String</a> type, <a href="../../java/lang/Object.html" title="class in java.lang">Object</a> source, long sequenceNumber, <a href="../../javax/management/ObjectName.html" title="class in javax.management">ObjectName</a> objectName)</code>
<div class="block">
创建一个MBeanServerNotification对象指定导致通知的MBean的对象名称和指定的通知类型。
</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><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/MBeanServerNotification.html#getMBeanName--">getMBeanName</a></span>()</code>
<div class="block">
返回导致通知的MBean的对象名称。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code><a href="../../java/lang/String.html" title="class in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/management/MBeanServerNotification.html#toString--">toString</a></span>()</code>
<div class="block">
返回此通知的String表示形式。
</div> </td>
</tr>
</tbody>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.javax.management.Notification">
<!-- --> </a> <h3>Methods inherited from class javax.management.<a href="../../javax/management/Notification.html" title="class in javax.management">Notification</a></h3> <code><a href="../../javax/management/Notification.html#getMessage--">getMessage</a>, <a href="../../javax/management/Notification.html#getSequenceNumber--">getSequenceNumber</a>, <a href="../../javax/management/Notification.html#getTimeStamp--">getTimeStamp</a>, <a href="../../javax/management/Notification.html#getType--">getType</a>, <a href="../../javax/management/Notification.html#getUserData--">getUserData</a>, <a href="../../javax/management/Notification.html#setSequenceNumber-long-">setSequenceNumber</a>, <a href="../../javax/management/Notification.html#setSource-java.lang.Object-">setSource</a>, <a href="../../javax/management/Notification.html#setTimeStamp-long-">setTimeStamp</a>, <a href="../../javax/management/Notification.html#setUserData-java.lang.Object-">setUserData</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.util.EventObject">
<!-- --> </a> <h3>Methods inherited from class java.util.<a href="../../java/util/EventObject.html" title="class in java.util">EventObject</a></h3> <code><a href="../../java/util/EventObject.html#getSource--">getSource</a></code></li>
</ul>
<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#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">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- --> </a> <h3>字段详细信息</h3> <a name="REGISTRATION_NOTIFICATION">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>REGISTRATION_NOTIFICATION</h4> <pre>public static final <a href="../../java/lang/String.html" title="class in java.lang">String</a> REGISTRATION_NOTIFICATION</pre>
<div class="block">
<span>通知类型表示MBean已被注册。</span>
<span>值为“JMX.mbean.registered”。</span>
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../constant-values.html#javax.management.MBeanServerNotification.REGISTRATION_NOTIFICATION">Constant Field Values</a>
</dd>
</dl> </li>
</ul> <a name="UNREGISTRATION_NOTIFICATION">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>UNREGISTRATION_NOTIFICATION</h4> <pre>public static final <a href="../../java/lang/String.html" title="class in java.lang">String</a> UNREGISTRATION_NOTIFICATION</pre>
<div class="block">
<span>指示MBean已注销的通知类型。</span>
<span>值为“JMX.mbean.unregistered”。</span>
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../constant-values.html#javax.management.MBeanServerNotification.UNREGISTRATION_NOTIFICATION">Constant Field Values</a>
</dd>
</dl> </li>
</ul> </li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- --> </a> <h3>构造方法详细信息</h3> <a name="MBeanServerNotification-java.lang.String-java.lang.Object-long-javax.management.ObjectName-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>MBeanServerNotification</h4> <pre>public MBeanServerNotification(<a href="../../java/lang/String.html" title="class in java.lang">String</a> type,
<a href="../../java/lang/Object.html" title="class in java.lang">Object</a> source,
long sequenceNumber,
<a href="../../javax/management/ObjectName.html" title="class in javax.management">ObjectName</a> objectName)</pre>
<div class="block">
创建一个MBeanServerNotification对象指定导致通知的MBean的对象名称和指定的通知类型。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>type</code> - 表示通知类型的字符串。</span>
<span>将它设置为一个这些值: <a href="../../javax/management/MBeanServerNotification.html#REGISTRATION_NOTIFICATION"><code>REGISTRATION_NOTIFICATION</code></a> <a href="../../javax/management/MBeanServerNotification.html#UNREGISTRATION_NOTIFICATION"><code>UNREGISTRATION_NOTIFICATION</code></a></span>
</dd>
<dd>
<code>source</code> - 负责转发MBean服务器通知的MBeanServerNotification对象。
</dd>
<dd>
<code>sequenceNumber</code> - 可用于订购接收到的通知的序列号。
</dd>
<dd>
<code>objectName</code> - 导致通知的MBean的对象名称。
</dd>
</dl> </li>
</ul> </li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="getMBeanName--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getMBeanName</h4> <pre>public <a href="../../javax/management/ObjectName.html" title="class in javax.management">ObjectName</a> getMBeanName()</pre>
<div class="block">
返回导致通知的MBean的对象名称。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
造成通知的MBean的对象名称。
</dd>
</dl> </li>
</ul> <a name="toString--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>toString</h4> <pre>public <a href="../../java/lang/String.html" title="class in java.lang">String</a> toString()</pre>
<div class="block">
<span class="descfrmTypeLabel">描述从类别: <code><a href="../../javax/management/Notification.html#toString--">Notification</a></code>复制</span>
</div>
<div class="block">
返回此通知的String表示形式。
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">重写:</span>
</dt>
<dd>
<code><a href="../../javax/management/Notification.html#toString--">toString</a></code>
<code><a href="../../javax/management/Notification.html" title="class in javax.management">Notification</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
此通知的字符串表示形式。
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>