uTools-Manuals/docs/java/javax/management/remote/JMXConnectorServer.html

662 lines
44 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.remote
</div>
<h2 class="title" title="Class JMXConnectorServer">Class JMXConnectorServer</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="../../../javax/management/NotificationBroadcasterSupport.html" title="class in javax.management">javax.management.NotificationBroadcasterSupport</a></li>
<li>
<ul class="inheritance">
<li>javax.management.remote.JMXConnectorServer</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="../../../javax/management/MBeanRegistration.html" title="javax.management中的接口">MBeanRegistration</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/remote/JMXAddressable.html" title="javax.management.remote中的接口">JMXAddressable</a> <a href="../../../javax/management/remote/JMXConnectorServerMBean.html" title="javax.management.remote中的接口">JMXConnectorServerMBean</a></span>
</dd>
</dl>
<dl>
<dt>
已知直接子类:
</dt>
<dd>
<span><a href="../../../javax/management/remote/rmi/RMIConnectorServer.html" title="javax.management.remote.rmi中的类">RMIConnectorServer</a></span>
</dd>
</dl>
<hr/> <br/> <pre>public abstract class <span class="typeNameLabel">JMXConnectorServer</span>
extends <a href="../../../javax/management/NotificationBroadcasterSupport.html" title="class in javax.management">NotificationBroadcasterSupport</a>
implements <a href="../../../javax/management/remote/JMXConnectorServerMBean.html" title="interface in javax.management.remote">JMXConnectorServerMBean</a>, <a href="../../../javax/management/MBeanRegistration.html" title="interface in javax.management">MBeanRegistration</a>, <a href="../../../javax/management/remote/JMXAddressable.html" title="interface in javax.management.remote">JMXAddressable</a></pre>
<div class="block">
<p> <span>每个连接器服务器的超类。</span> <span>连接器服务器连接到MBean服务器。</span> <span>它监听客户端连接请求,并为每个连接请求创建一个连接。</span> </p>
<p> <span>连接器服务器通过在MBean服务器中注册或通过将MBean服务器传递给其构造函数与MBean服务器相关联。</span> </p>
<p> <span>连接器服务器在创建时不起作用。</span> <span>当调用<a href="../../../javax/management/remote/JMXConnectorServerMBean.html#start--"><code>start</code></a>方法时,它才开始侦听客户端连接。</span> <span>当调用<a href="../../../javax/management/remote/JMXConnectorServerMBean.html#stop--"><code>stop</code></a>方法或连接器服务器从其MBean服务器未注册时连接器服务器停止侦听客户端连接。</span> </p>
<p> <span>停止连接器服务器不会从其MBean服务器取消注册。</span> <span>停止连接器服务器无法重新启动。</span> </p>
<p> <span>每次建立或断开客户端连接时,都会发出<code>JMXConnectionNotification</code>类的<a href="../../../javax/management/remote/JMXConnectionNotification.html" title="javax.management.remote中的类">通知</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">
<!-- =========== 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/remote/JMXConnectorServer.html#AUTHENTICATOR">AUTHENTICATOR</a></span></code>
<div class="block">
指定连接器服务器的认证器的属性的名称。
</div> </td>
</tr>
</tbody>
</table> </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/remote/JMXConnectorServer.html#JMXConnectorServer--">JMXConnectorServer</a></span>()</code>
<div class="block">
构造一个连接器服务器该连接器服务器将在其所连接的MBean服务器中注册为MBean。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../javax/management/remote/JMXConnectorServer.html#JMXConnectorServer-javax.management.MBeanServer-">JMXConnectorServer</a></span>(<a href="../../../javax/management/MBeanServer.html" title="interface in javax.management">MBeanServer</a> mbeanServer)</code>
<div class="block">
构造一个连接到给定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>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/remote/JMXConnectorServer.html#connectionClosed-java.lang.String-java.lang.String-java.lang.Object-">connectionClosed</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> connectionId, <a href="../../../java/lang/String.html" title="class in java.lang">String</a> message, <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> userData)</code>
<div class="block">
当客户端连接正常关闭时,由子类调用。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/remote/JMXConnectorServer.html#connectionFailed-java.lang.String-java.lang.String-java.lang.Object-">connectionFailed</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> connectionId, <a href="../../../java/lang/String.html" title="class in java.lang">String</a> message, <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> userData)</code>
<div class="block">
当客户端连接失败时由子类调用。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/remote/JMXConnectorServer.html#connectionOpened-java.lang.String-java.lang.String-java.lang.Object-">connectionOpened</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> connectionId, <a href="../../../java/lang/String.html" title="class in java.lang">String</a> message, <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> userData)</code>
<div class="block">
当新的客户端连接打开时由子类调用。
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<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/remote/JMXConnectorServer.html#getConnectionIds--">getConnectionIds</a></span>()</code>
<div class="block">
此连接器服务器当前打开的连接的ID列表。
</div> </td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code><a href="../../../javax/management/MBeanServer.html" title="interface in javax.management">MBeanServer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/remote/JMXConnectorServer.html#getMBeanServer--">getMBeanServer</a></span>()</code>
<div class="block">
返回此连接器服务器连接到的MBean服务器。
</div> </td>
</tr>
<tr class="rowColor" id="i5">
<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/remote/JMXConnectorServer.html#getNotificationInfo--">getNotificationInfo</a></span>()</code>
<div class="block">
返回一个数组指示此MBean发送的通知。
</div> </td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/remote/JMXConnectorServer.html#postDeregister--">postDeregister</a></span>()</code>
<div class="block">
允许MBean在MBean服务器中取消注册后执行所需的任何操作。
</div> </td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/remote/JMXConnectorServer.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="altColor" id="i8">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/remote/JMXConnectorServer.html#preDeregister--">preDeregister</a></span>()</code>
<div class="block">
当该连接器服务器从该MBean服务器取消注册时由MBean服务器调用。
</div> </td>
</tr>
<tr class="rowColor" id="i9">
<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/remote/JMXConnectorServer.html#preRegister-javax.management.MBeanServer-javax.management.ObjectName-">preRegister</a></span>(<a href="../../../javax/management/MBeanServer.html" title="interface in javax.management">MBeanServer</a> mbs, <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="altColor" id="i10">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/remote/JMXConnectorServer.html#setMBeanServerForwarder-javax.management.remote.MBeanServerForwarder-">setMBeanServerForwarder</a></span>(<a href="../../../javax/management/remote/MBeanServerForwarder.html" title="interface in javax.management.remote">MBeanServerForwarder</a> mbsf)</code>
<div class="block">
插入一个对象拦截通过此连接器服务器到达的MBean服务器的请求。
</div> </td>
</tr>
<tr class="rowColor" id="i11">
<td class="colFirst"><code><a href="../../../javax/management/remote/JMXConnector.html" title="interface in javax.management.remote">JMXConnector</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/management/remote/JMXConnectorServer.html#toJMXConnector-java.util.Map-">toJMXConnector</a></span>(<a href="../../../java/util/Map.html" title="interface in java.util">Map</a>&lt;<a href="../../../java/lang/String.html" title="class in java.lang">String</a>,?&gt; env)</code>
<div class="block">
返回此连接器服务器的客户端存根。
</div> </td>
</tr>
</tbody>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.javax.management.NotificationBroadcasterSupport">
<!-- --> </a> <h3>Methods inherited from class javax.management.<a href="../../../javax/management/NotificationBroadcasterSupport.html" title="class in javax.management">NotificationBroadcasterSupport</a></h3> <code><a href="../../../javax/management/NotificationBroadcasterSupport.html#addNotificationListener-javax.management.NotificationListener-javax.management.NotificationFilter-java.lang.Object-">addNotificationListener</a>, <a href="../../../javax/management/NotificationBroadcasterSupport.html#handleNotification-javax.management.NotificationListener-javax.management.Notification-java.lang.Object-">handleNotification</a>, <a href="../../../javax/management/NotificationBroadcasterSupport.html#removeNotificationListener-javax.management.NotificationListener-">removeNotificationListener</a>, <a href="../../../javax/management/NotificationBroadcasterSupport.html#removeNotificationListener-javax.management.NotificationListener-javax.management.NotificationFilter-java.lang.Object-">removeNotificationListener</a>, <a href="../../../javax/management/NotificationBroadcasterSupport.html#sendNotification-javax.management.Notification-">sendNotification</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#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>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.javax.management.remote.JMXConnectorServerMBean">
<!-- --> </a> <h3>Methods inherited from interface javax.management.remote.<a href="../../../javax/management/remote/JMXConnectorServerMBean.html" title="interface in javax.management.remote">JMXConnectorServerMBean</a></h3> <code><a href="../../../javax/management/remote/JMXConnectorServerMBean.html#getAddress--">getAddress</a>, <a href="../../../javax/management/remote/JMXConnectorServerMBean.html#getAttributes--">getAttributes</a>, <a href="../../../javax/management/remote/JMXConnectorServerMBean.html#isActive--">isActive</a>, <a href="../../../javax/management/remote/JMXConnectorServerMBean.html#start--">start</a>, <a href="../../../javax/management/remote/JMXConnectorServerMBean.html#stop--">stop</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.javax.management.remote.JMXAddressable">
<!-- --> </a> <h3>Methods inherited from interface javax.management.remote.<a href="../../../javax/management/remote/JMXAddressable.html" title="interface in javax.management.remote">JMXAddressable</a></h3> <code><a href="../../../javax/management/remote/JMXAddressable.html#getAddress--">getAddress</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="AUTHENTICATOR">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>AUTHENTICATOR</h4> <pre>public static final <a href="../../../java/lang/String.html" title="class in java.lang">String</a> AUTHENTICATOR</pre>
<div class="block">
<p> <span>指定连接器服务器的认证器的属性的名称。</span> <span>与此属性关联的值,如果有的话,必须是实现该接口的对象<a href="../../../javax/management/remote/JMXAuthenticator.html" title="javax.management.remote中的接口"><code>JMXAuthenticator</code></a></span> </p>
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../constant-values.html#javax.management.remote.JMXConnectorServer.AUTHENTICATOR">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="JMXConnectorServer--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>JMXConnectorServer</h4> <pre>public JMXConnectorServer()</pre>
<div class="block">
<p> <span>构造一个连接器服务器该连接器服务器将在其所连接的MBean服务器中注册为MBean。</span> <span>在MBean服务器中创建使远程可用的连接器服务器时此构造函数通常由<code>createMBean</code>之一调用。</span> </p>
</div> </li>
</ul> <a name="JMXConnectorServer-javax.management.MBeanServer-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>JMXConnectorServer</h4> <pre>public JMXConnectorServer(<a href="../../../javax/management/MBeanServer.html" title="interface in javax.management">MBeanServer</a> mbeanServer)</pre>
<div class="block">
<p> <span>构造一个连接到给定MBean服务器的连接器服务器。</span> <span>以这种方式创建的连接器服务器可以在不同的MBean服务器中注册也可以不在任何MBean服务器中注册。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>mbeanServer</code> - 此连接器服务器连接到的MBean服务器。</span>
<span>如果此连接器服务器将通过注册到MBean服务器则为空。</span>
</dd>
</dl> </li>
</ul> </li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="getMBeanServer--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getMBeanServer</h4> <pre>public <a href="../../../javax/management/MBeanServer.html" title="interface in javax.management">MBeanServer</a> getMBeanServer()</pre>
<div class="block">
<p>返回此连接器服务器连接到的MBean服务器。 </p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
此连接器服务器附加到的MBean服务器如果尚未连接到MBean服务器则为null。
</dd>
</dl> </li>
</ul> <a name="setMBeanServerForwarder-javax.management.remote.MBeanServerForwarder-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setMBeanServerForwarder</h4> <pre>public void setMBeanServerForwarder(<a href="../../../javax/management/remote/MBeanServerForwarder.html" title="interface in javax.management.remote">MBeanServerForwarder</a> mbsf)</pre>
<div class="block">
<span class="descfrmTypeLabel">说明从界面复制: <code><a href="../../../javax/management/remote/JMXConnectorServerMBean.html#setMBeanServerForwarder-javax.management.remote.MBeanServerForwarder-">JMXConnectorServerMBean</a></code></span>
</div>
<div class="block">
<p> <span>插入一个对象拦截通过此连接器服务器到达的MBean服务器的请求。</span> <span>该对象将作为<code>MBeanServer</code>提供,用于由此连接器服务器创建的任何新连接。</span> <span>现有连接不受影响。</span> </p>
<p> <span>该方法可以使用不同的<a href="../../../javax/management/remote/MBeanServerForwarder.html" title="javax.management.remote中的接口"><code>MBeanServerForwarder</code></a>对象多次<a href="../../../javax/management/remote/MBeanServerForwarder.html" title="javax.management.remote中的接口">调用</a></span> <span>结果是一连串的代理商。</span> <span>最后一名货车是连锁店的第一名。</span> <span>更详细地说:</span> </p>
<ul>
<li><p> <span>如果此连接器服务器已与<code>MBeanServer</code>对象关联,则该对象将发送给<a href="../../../javax/management/remote/MBeanServerForwarder.html#setMBeanServer-javax.management.MBeanServer-"><code>mbsf.setMBeanServer</code></a></span> <span>如果这样做会产生异常,则此方法会引发相同的异常,而不会产生任何其他影响。</span> </p></li>
<li><p> <span>如果此连接器尚未与<code>MBeanServer</code>对象关联,或者如果刚刚提到的<code>mbsf.setMBeanServer</code>呼叫成功,则<code>mbsf</code>将成为此连接器服务器的<code>MBeanServer</code></span> </p></li>
</ul>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/management/remote/JMXConnectorServerMBean.html#setMBeanServerForwarder-javax.management.remote.MBeanServerForwarder-">setMBeanServerForwarder</a></code>在接口
<code><a href="../../../javax/management/remote/JMXConnectorServerMBean.html" title="interface in javax.management.remote">JMXConnectorServerMBean</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>mbsf</code> - 全新
<code>MBeanServerForwarder</code>
</dd>
</dl> </li>
</ul> <a name="getConnectionIds--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getConnectionIds</h4> <pre>public <a href="../../../java/lang/String.html" title="class in java.lang">String</a>[] getConnectionIds()</pre>
<div class="block">
<span class="descfrmTypeLabel">说明从界面复制: <code><a href="../../../javax/management/remote/JMXConnectorServerMBean.html#getConnectionIds--">JMXConnectorServerMBean</a></code></span>
</div>
<div class="block">
<p>此连接器服务器当前打开的连接的ID列表。 </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/management/remote/JMXConnectorServerMBean.html#getConnectionIds--">getConnectionIds</a></code>在接口
<code><a href="../../../javax/management/remote/JMXConnectorServerMBean.html" title="interface in javax.management.remote">JMXConnectorServerMBean</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>一个包含ID列表的新字符串数组。</span>
<span>如果没有当前打开的连接,该数组将为空。</span>
</dd>
</dl> </li>
</ul> <a name="toJMXConnector-java.util.Map-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>toJMXConnector</h4> <pre>public <a href="../../../javax/management/remote/JMXConnector.html" title="interface in javax.management.remote">JMXConnector</a> toJMXConnector(<a href="../../../java/util/Map.html" title="interface in java.util">Map</a>&lt;<a href="../../../java/lang/String.html" title="class in java.lang">String</a>,?&gt; env)
throws <a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<p> <span>返回此连接器服务器的客户端存根。</span> <span>客户端存根是一个可串行化的对象,其<a href="../../../javax/management/remote/JMXConnector.html#connect-java.util.Map-"><code>connect</code></a>方法可用于与此连接器服务器建立一个新连接。</span> </p>
<p> <span>给定的连接器不需要支持生成客户端存根。</span> <span>但是由JMX Remote API指定的连接器JMXMP Connector和RMI Connector</span> </p>
<p> <span>该方法的默认实现使用<a href="../../../javax/management/remote/JMXConnectorServerMBean.html#getAddress--"><code>JMXConnectorServerMBean.getAddress()</code></a><a href="../../../javax/management/remote/JMXConnectorFactory.html" title="javax.management.remote中的类"><code>JMXConnectorFactory</code></a>生成存根,其代码等同于以下内容:</span> </p>
<pre> <span>JMXServiceURL addr = <a href="../../../javax/management/remote/JMXConnectorServerMBean.html#getAddress--"><code>getAddress()</code></a>;
return <a href="../../../javax/management/remote/JMXConnectorFactory.html#newJMXConnector-javax.management.remote.JMXServiceURL-java.util.Map-"><code>JMXConnectorFactory.newJMXConnector(addr, env)</code></a>;</span> </pre>
<p> <span>这个不合适的连接器服务器必须覆盖此方法,以便它实现相应的逻辑或者抛出<a href="../../../java/lang/UnsupportedOperationException.html" title="java.lang中的类"><code>UnsupportedOperationException</code></a></span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../javax/management/remote/JMXConnectorServerMBean.html#toJMXConnector-java.util.Map-">toJMXConnector</a></code>在界面
<code><a href="../../../javax/management/remote/JMXConnectorServerMBean.html" title="interface in javax.management.remote">JMXConnectorServerMBean</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>env</code> - 可以提供给<a href="../../../javax/management/remote/JMXConnector.html#connect-java.util.Map-"><code>JMXConnector.connect(Map)</code></a>的相同排序的客户端连接<a href="../../../javax/management/remote/JMXConnector.html#connect-java.util.Map-">参数</a></span>
<span>可以为空,这相当于一个空的地图。</span>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
客户端存根可用于与此连接器服务器建立新连接。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/UnsupportedOperationException.html" title="class in java.lang">UnsupportedOperationException</a></code> - 如果此连接器服务器不支持生成客户端存根。
</dd>
<dd>
<code><a href="../../../java/lang/IllegalStateException.html" title="class in java.lang">IllegalStateException</a></code> - 如果JMXConnectorServer未启动请参阅
<a href="../../../javax/management/remote/JMXConnectorServerMBean.html#isActive--"><code>JMXConnectorServerMBean.isActive()</code></a> )。
</dd>
<dd>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果通信问题意味着无法创建存根。
</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">
<p> <span>返回一个数组指示此MBean发送的通知。</span> <span>JMXConnectorServer中的<code>JMXConnectorServer</code>返回一个包含一个元素的数组,表明它可以发出类别中定义的类别<a href="../../../javax/management/remote/JMXConnectionNotification.html" title="javax.management.remote中的类"><code>JMXConnectionNotification</code>的通知</a></span> <span>可以发出其他通知的子类应该返回一个包含该元素的数组以及其他通知的描述。</span> </p>
</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="overrideSpecifyLabel">重写:</span>
</dt>
<dd>
<code><a href="../../../javax/management/NotificationBroadcasterSupport.html#getNotificationInfo--">getNotificationInfo</a></code>
<code><a href="../../../javax/management/NotificationBroadcasterSupport.html" title="class in javax.management">NotificationBroadcasterSupport</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
可能通知的数组。
</dd>
</dl> </li>
</ul> <a name="connectionOpened-java.lang.String-java.lang.String-java.lang.Object-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>connectionOpened</h4> <pre>protected void connectionOpened(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> connectionId,
<a href="../../../java/lang/String.html" title="class in java.lang">String</a> message,
<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> userData)</pre>
<div class="block">
<p> <span>当新的客户端连接打开时由子类调用。</span> <span><code>connectionId</code>添加到由<a href="../../../javax/management/remote/JMXConnectorServer.html#getConnectionIds--"><code>getConnectionIds()</code></a>返回的列表中,然后发出<a href="../../../javax/management/remote/JMXConnectionNotification.html" title="javax.management.remote中的类"><code>JMXConnectionNotification</code></a>类型为<a href="../../../javax/management/remote/JMXConnectionNotification.html#OPENED"><code>JMXConnectionNotification.OPENED</code></a></span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>connectionId</code> - 新连接的ID。</span>
<span>这必须与以前由此连接器服务器打开的任何连接的ID不同。</span>
</dd>
<dd>
<span><code>message</code> - 发送的消息<a href="../../../javax/management/remote/JMXConnectionNotification.html" title="javax.management.remote中的类"><code>JMXConnectionNotification</code></a></span>
<span>可以为null。</span>
<span><a href="../../../javax/management/Notification.html#getMessage--"><code>Notification.getMessage()</code></a></span>
</dd>
<dd>
<span><code>userData</code> - <code>userData</code>发出的<a href="../../../javax/management/remote/JMXConnectionNotification.html" title="javax.management.remote中的类"><code>JMXConnectionNotification</code></a></span>
<span>可以为null。</span>
<span><a href="../../../javax/management/Notification.html#getUserData--"><code>Notification.getUserData()</code></a></span>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>connectionId</code>为空。
</dd>
</dl> </li>
</ul> <a name="connectionClosed-java.lang.String-java.lang.String-java.lang.Object-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>connectionClosed</h4> <pre>protected void connectionClosed(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> connectionId,
<a href="../../../java/lang/String.html" title="class in java.lang">String</a> message,
<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> userData)</pre>
<div class="block">
<p> <span>当客户端连接正常关闭时,由子类调用。</span> <span>删除<code>connectionId</code>从返回的列表<a href="../../../javax/management/remote/JMXConnectorServer.html#getConnectionIds--"><code>getConnectionIds()</code></a> ,然后发出<a href="../../../javax/management/remote/JMXConnectionNotification.html" title="javax.management.remote中的类"><code>JMXConnectionNotification</code></a><a href="../../../javax/management/remote/JMXConnectionNotification.html#CLOSED"><code>JMXConnectionNotification.CLOSED</code></a></span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>connectionId</code> - 已关闭连接的ID。
</dd>
<dd>
<span><code>message</code> - 发送的消息<a href="../../../javax/management/remote/JMXConnectionNotification.html" title="javax.management.remote中的类"><code>JMXConnectionNotification</code></a></span>
<span>可以为null。</span>
<span><a href="../../../javax/management/Notification.html#getMessage--"><code>Notification.getMessage()</code></a></span>
</dd>
<dd>
<span><code>userData</code> - <code>userData</code>发出的<a href="../../../javax/management/remote/JMXConnectionNotification.html" title="javax.management.remote中的类"><code>JMXConnectionNotification</code></a></span>
<span>可以为null。</span>
<span><a href="../../../javax/management/Notification.html#getUserData--"><code>Notification.getUserData()</code></a></span>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>connectionId</code>为空。
</dd>
</dl> </li>
</ul> <a name="connectionFailed-java.lang.String-java.lang.String-java.lang.Object-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>connectionFailed</h4> <pre>protected void connectionFailed(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> connectionId,
<a href="../../../java/lang/String.html" title="class in java.lang">String</a> message,
<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> userData)</pre>
<div class="block">
<p> <span>当客户端连接失败时由子类调用。</span> <span>删除<code>connectionId</code>从返回的列表<a href="../../../javax/management/remote/JMXConnectorServer.html#getConnectionIds--"><code>getConnectionIds()</code></a> ,然后发出<a href="../../../javax/management/remote/JMXConnectionNotification.html" title="javax.management.remote中的类"><code>JMXConnectionNotification</code></a><a href="../../../javax/management/remote/JMXConnectionNotification.html#FAILED"><code>JMXConnectionNotification.FAILED</code></a></span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>connectionId</code> - 连接失败的ID。
</dd>
<dd>
<span><code>message</code> - 发送的消息<a href="../../../javax/management/remote/JMXConnectionNotification.html" title="javax.management.remote中的类"><code>JMXConnectionNotification</code></a></span>
<span>可以为null。</span>
<span><a href="../../../javax/management/Notification.html#getMessage--"><code>Notification.getMessage()</code></a></span>
</dd>
<dd>
<span><code>userData</code> - <code>userData</code>发出的<a href="../../../javax/management/remote/JMXConnectionNotification.html" title="javax.management.remote中的类"><code>JMXConnectionNotification</code></a></span>
<span>可以为null。</span>
<span><a href="../../../javax/management/Notification.html#getUserData--"><code>Notification.getUserData()</code></a></span>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>connectionId</code>为空。
</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> mbs,
<a href="../../../javax/management/ObjectName.html" title="class in javax.management">ObjectName</a> name)</pre>
<div class="block">
<p> <span>当该连接器服务器在该MBean服务器中注册时由MBean服务器调用。</span> <span>该连接器服务器连接到MBean服务器<a href="../../../javax/management/remote/JMXConnectorServer.html#getMBeanServer--"><code>getMBeanServer()</code></a>方法将返回<code>mbs</code></span> </p>
<p> <span>如果此连接器服务器已连接到MBean服务器则此方法不起作用。</span> <span>它附加的MBean服务器不一定是它正在注册的。</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>mbs</code> - 正在注册此连接服务器的MBean服务器。
</dd>
<dd>
<code>name</code> - MBean的对象名称。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
要注册MBean的名称。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>mbs</code>
<code>name</code>为空。
</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 class="descfrmTypeLabel">说明从界面复制: <code><a href="../../../javax/management/MBeanRegistration.html#postRegister-java.lang.Boolean-">MBeanRegistration</a></code></span>
</div>
<div class="block">
<span>允许MBean在MBean服务器中注册或注册失败后执行所需的操作。</span>
<p> <span>如果这种方法的实现引发了一个<a href="../../../java/lang/RuntimeException.html" title="java.lang中的类"><code>RuntimeException</code></a><a href="../../../java/lang/Error.html" title="java.lang中的类"><code>Error</code></a> 那么MBean服务器将会分别在<a href="../../../javax/management/RuntimeMBeanException.html" title="javax.management中的类"><code>RuntimeMBeanException</code></a><a href="../../../javax/management/RuntimeErrorException.html" title="javax.management中的类"><code>RuntimeErrorException</code></a>中重新抛出。</span> <span>但是在postRegister中<code>postRegister</code>将不会更改MBean的状态如果MBean已经注册 <code>registrationDone</code><code>true</code> 则MBean将保持注册。</span> </p>
<p> <span>这可能会导致调用<code>createMBean()</code><code>registerMBean()</code>的代码<code>createMBean()</code> <code>registerMBean()</code> 因为这样的代码可能会假设在引发异常时MBean注册失败。</span> <span>因此,如果可以避免,建议<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">
<p> <span>当该连接器服务器从该MBean服务器取消注册时由MBean服务器调用。</span> <span>如果此连接器服务器通过在其中注册到该MBean服务器并且如果连接器服务器仍处于活动状态则取消注册将调用<a href="../../../javax/management/remote/JMXConnectorServerMBean.html#stop--"><code>stop</code></a>方法。</span> <span>如果<code>stop</code>方法抛出异常,则注销尝试将失败。</span> <span>建议在取消注册MBean之前调用<code>stop</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>
<code><a href="../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果抛出
<a href="../../../javax/management/remote/JMXConnectorServerMBean.html#stop--"><code>stop</code></a>方法。
</dd>
<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 class="descfrmTypeLabel">说明从界面复制: <code><a href="../../../javax/management/MBeanRegistration.html#postDeregister--">MBeanRegistration</a></code></span>
</div>
<div class="block">
<span>允许MBean在MBean服务器中取消注册后执行所需的任何操作。</span>
<p> <span>如果这种方法的实现会引发一个<a href="../../../java/lang/RuntimeException.html" title="java.lang中的类"><code>RuntimeException</code></a>或一个<a href="../../../java/lang/Error.html" title="java.lang中的类"><code>Error</code></a> 那么MBean服务器将会分别在<a href="../../../javax/management/RuntimeMBeanException.html" title="javax.management中的类"><code>RuntimeMBeanException</code></a><a href="../../../javax/management/RuntimeErrorException.html" title="javax.management中的类"><code>RuntimeErrorException</code></a>内重新抛出。</span> <span>但是在postDeregister中<code>postDeregister</code>将不会更改MBean的状态MBean已经成功取消注册并将保持不变。</span> </p>
<p> <span>这可能会导致调用<code>unregisterMBean()</code>的代码<code>unregisterMBean()</code> 因为它可能会假设MBean注销失败。</span> <span>因此,建议的实现<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>