mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-07-06 00:32:44 +08:00
189 lines
13 KiB
HTML
189 lines
13 KiB
HTML
<div class="header">
|
||
<div class="subTitle">
|
||
compact3
|
||
</div>
|
||
<div class="subTitle">
|
||
javax.management
|
||
</div>
|
||
<h2 class="title" title="Interface NotificationBroadcaster">Interface NotificationBroadcaster</h2>
|
||
</div><div class="contentContainer">
|
||
<div class="description">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<dl>
|
||
<dt>
|
||
All Known Subinterfaces:
|
||
</dt>
|
||
<dd>
|
||
<span><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/NotificationEmitter.html" title="javax.management中的接口">NotificationEmitter</a></span>
|
||
</dd>
|
||
</dl>
|
||
<dl>
|
||
<dt>
|
||
所有已知实现类:
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../javax/management/monitor/CounterMonitor.html" title="javax.management.monitor中的类">CounterMonitor</a> , <a href="../../javax/management/monitor/GaugeMonitor.html" title="javax.management.monitor中的类">GaugeMonitor</a> , <a href="../../javax/management/remote/JMXConnectorServer.html" title="javax.management.remote中的类">JMXConnectorServer</a> , <a href="../../javax/management/MBeanServerDelegate.html" title="javax.management中的类">MBeanServerDelegate</a> , <a href="../../javax/management/monitor/Monitor.html" title="javax.management.monitor中的类">Monitor</a> , <a href="../../javax/management/NotificationBroadcasterSupport.html" title="javax.management中的类">NotificationBroadcasterSupport</a> , <a href="../../javax/management/relation/RelationService.html" title="javax.management.relation中的类">RelationService</a> , <a href="../../javax/management/modelmbean/RequiredModelMBean.html" title="javax.management.modelmbean中的类">RequiredModelMBean</a> , <a href="../../javax/management/remote/rmi/RMIConnectorServer.html" title="javax.management.remote.rmi中的类">RMIConnectorServer</a> , <a href="../../javax/management/StandardEmitterMBean.html" title="javax.management中的类">StandardEmitterMBean</a> , <a href="../../javax/management/monitor/StringMonitor.html" title="javax.management.monitor中的类">StringMonitor</a> , <a href="../../javax/management/timer/Timer.html" title="javax.management.timer中的类">Timer</a></span>
|
||
</dd>
|
||
</dl>
|
||
<hr/> <br/> <pre>public interface <span class="typeNameLabel">NotificationBroadcaster</span></pre>
|
||
<div class="block">
|
||
<p> <span>由发出通知的MBean实现的接口。</span> <span>它允许监听器作为通知监听器注册到MBean。</span> </p>
|
||
<h3> <span>通知发送</span> </h3>
|
||
<p> <span>当MBean发出通知时,它会将每个已添加的侦听器<a href="../../javax/management/NotificationBroadcaster.html#addNotificationListener-javax.management.NotificationListener-javax.management.NotificationFilter-java.lang.Object-">视为<code>addNotificationListener</code></a> ,而不是随后用<a href="../../javax/management/NotificationBroadcaster.html#removeNotificationListener-javax.management.NotificationListener-"><code>removeNotificationListener</code></a>删除。</span> <span>如果为该监听器提供过滤器,并且如果过滤器的<a href="../../javax/management/NotificationFilter.html#isNotificationEnabled-javax.management.Notification-"><code>isNotificationEnabled</code></a>方法返回false,则忽略监听器。</span> <span>否则,监听器的<a href="../../javax/management/NotificationListener.html#handleNotification-javax.management.Notification-java.lang.Object-"><code>handleNotification</code></a>方法与通知一起调用,以及提供给<code>addNotificationListener</code>对象。</span> </p>
|
||
<p> <span>如果同一个监听器被多次添加,它被认为是添加的次数。</span> <span>通过不同的过滤器或回传对象添加相同的监听器通常很有用。</span> </p>
|
||
<p> <span>关于调用过滤器和侦听器的方法的线程,此接口的实现可能会有所不同。</span> </p>
|
||
<p> <span>如果过滤器或侦听器的方法调用抛出<a href="../../java/lang/Exception.html" title="java.lang中的类"><code>异常</code></a> ,则该异常不应阻止其他侦听器被调用。</span> <span>但是,如果方法调用抛出一个<a href="../../java/lang/Error.html" title="java.lang中的类"><code>Error</code></a> ,那么建议在该点停止通知的处理,如果可以将Error <code>Error</code>给通知的发件人,那么应该这样做。</span> </p>
|
||
<p> <span>新代码应该使用<a href="../../javax/management/NotificationEmitter.html" title="javax.management中的接口"><code>NotificationEmitter</code></a>接口。</span> </p>
|
||
<p> <span>该接口和<code>NotificationEmitter</code>应该小心同步。</span> <span>特别地,实现该方法在调用监听器时保持任何锁定并不是一个好主意。</span> <span>要处理在发送通知时听众列表可能发生变化的可能性,一个好的策略是使用<a href="../../java/util/concurrent/CopyOnWriteArrayList.html" title="java.util.concurrent中的类"><code>CopyOnWriteArrayList</code></a>作为此列表。</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/NotificationBroadcaster.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">
|
||
添加一个监听器到这个MBean。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i1">
|
||
<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/NotificationBroadcaster.html#getNotificationInfo--">getNotificationInfo</a></span>()</code>
|
||
<div class="block">
|
||
返回一个数组,指示MBean可能发送的每个通知,通知的Java类的名称和通知类型。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i2">
|
||
<td class="colFirst"><code>void</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/management/NotificationBroadcaster.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">
|
||
从这个MBean中删除一个监听器。
|
||
</div> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table> </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="addNotificationListener-javax.management.NotificationListener-javax.management.NotificationFilter-java.lang.Object-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>addNotificationListener</h4> <pre>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">
|
||
添加一个监听器到这个MBean。
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>listener</code> - 将处理广播公司发出的通知的侦听器对象。
|
||
</dd>
|
||
<dd>
|
||
<span><code>filter</code> - 过滤器对象。</span>
|
||
<span>如果过滤器为空,则在处理通知之前不会执行过滤。</span>
|
||
</dd>
|
||
<dd>
|
||
<span><code>handback</code> - 发出通知时发送回侦听器的不透明对象。</span>
|
||
<span>该通知广播对象无法使用此对象。</span>
|
||
<span>通知发送者应该重新发送更改。</span>
|
||
</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/NotificationBroadcaster.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>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">
|
||
<span>从这个MBean中删除一个监听器。</span>
|
||
<span>如果侦听器已经注册了不同的回传对象或通知过滤器,则与侦听器对应的所有条目都将被删除。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>listener</code> - 以前添加到此MBean的侦听器。
|
||
</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/NotificationBroadcaster.html#addNotificationListener-javax.management.NotificationListener-javax.management.NotificationFilter-java.lang.Object-"><code>addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)</code></a> ,
|
||
<a href="../../javax/management/NotificationEmitter.html#removeNotificationListener-javax.management.NotificationListener-javax.management.NotificationFilter-java.lang.Object-"><code>NotificationEmitter.removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)</code></a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getNotificationInfo--">
|
||
<!-- --> </a>
|
||
<ul class="blockListLast">
|
||
<li class="blockList"> <h4>getNotificationInfo</h4> <pre><a href="../../javax/management/MBeanNotificationInfo.html" title="class in javax.management">MBeanNotificationInfo</a>[] getNotificationInfo()</pre>
|
||
<div class="block">
|
||
<p> <span>返回一个数组,指示MBean可能发送的每个通知,通知的Java类的名称和通知类型。</span> </p>
|
||
<p> <span>MBean发送不在此阵列中描述的通知并不是非法的。</span> <span>但是,MBean服务器的某些客户端可能依赖于正确运行的阵列。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
the array of possible notifications.
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
</div>
|
||
</div> |