595 lines
33 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.rmi
</div>
<h2 class="title" title="Class RMIServerImpl">Class RMIServerImpl</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>javax.management.remote.rmi.RMIServerImpl</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/Closeable.html" title="java.io中的接口">Closeable</a> <a href="../../../../java/lang/AutoCloseable.html" title="java.lang中的接口">AutoCloseable</a> <a href="../../../../java/rmi/Remote.html" title="java.rmi中的接口">Remote</a> <a href="../../../../javax/management/remote/rmi/RMIServer.html" title="javax.management.remote.rmi中的接口">RMIServer</a></span>
</dd>
</dl>
<dl>
<dt>
已知直接子类:
</dt>
<dd>
<span><a href="../../../../javax/management/remote/rmi/RMIIIOPServerImpl.html" title="javax.management.remote.rmi中的类">RMIIIOPServerImpl</a> <a href="../../../../javax/management/remote/rmi/RMIJRMPServerImpl.html" title="javax.management.remote.rmi中的类">RMIJRMPServerImpl</a></span>
</dd>
</dl>
<hr/> <br/> <pre>public abstract class <span class="typeNameLabel">RMIServerImpl</span>
extends <a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a>
implements <a href="../../../../java/io/Closeable.html" title="interface in java.io">Closeable</a>, <a href="../../../../javax/management/remote/rmi/RMIServer.html" title="interface in javax.management.remote.rmi">RMIServer</a></pre>
<div class="block">
<p> <span>表示连接器服务器的RMI对象。</span> <span>远程客户端可以使用<a href="../../../../javax/management/remote/rmi/RMIServerImpl.html#newClient-java.lang.Object-"><code>newClient(Object)</code></a>方法进行连接。</span> <span>此方法返回表示连接的RMI对象。</span> </p>
<p> <span>用户代码通常不直接引用此类。</span> <span>RMI连接服务器通常用类别<a href="../../../../javax/management/remote/rmi/RMIConnectorServer.html" title="javax.management.remote.rmi中的类"><code>RMIConnectorServer</code></a>创建。</span> <span>远程客户端通常使用<a href="../../../../javax/management/remote/JMXConnectorFactory.html" title="javax.management.remote中的类"><code>JMXConnectorFactory</code></a>或通过实例化<a href="../../../../javax/management/remote/rmi/RMIConnector.html" title="javax.management.remote.rmi中的类"><code>RMIConnector</code></a>创建<a href="../../../../javax/management/remote/rmi/RMIConnector.html" title="javax.management.remote.rmi中的类">连接</a></span> </p>
<p> <span>这是一个抽象类。</span> <span>具体的子类定义客户端连接对象的详细信息例如是否使用JRMP或IIOP。</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">
<!-- ======== 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/rmi/RMIServerImpl.html#RMIServerImpl-java.util.Map-">RMIServerImpl</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">
构造一个新的
<code>RMIServerImpl</code>
</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="t3"><span><a href="javascript:show(4);">抽象方法</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/rmi/RMIServerImpl.html#clientClosed-javax.management.remote.rmi.RMIConnection-">clientClosed</a></span>(<a href="../../../../javax/management/remote/rmi/RMIConnection.html" title="interface in javax.management.remote.rmi">RMIConnection</a> client)</code>
<div class="block">
当创建一个客户端连接方法称为
<a href="../../../../javax/management/remote/rmi/RMIServerImpl.html#makeClient-java.lang.String-javax.security.auth.Subject-"><code>makeClient</code></a>关闭。
</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/remote/rmi/RMIServerImpl.html#close--">close</a></span>()</code>
<div class="block">
关闭此连接服务器。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>protected abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/management/remote/rmi/RMIServerImpl.html#closeClient-javax.management.remote.rmi.RMIConnection-">closeClient</a></span>(<a href="../../../../javax/management/remote/rmi/RMIConnection.html" title="interface in javax.management.remote.rmi">RMIConnection</a> client)</code>
<div class="block">
关闭由
<code>makeClient</code>制作的客户端
<a href="../../../../javax/management/remote/rmi/RMIServerImpl.html#makeClient-java.lang.String-javax.security.auth.Subject-">连接</a>
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>protected abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/management/remote/rmi/RMIServerImpl.html#closeServer--">closeServer</a></span>()</code>
<div class="block">
调用
<a href="../../../../javax/management/remote/rmi/RMIServerImpl.html#close--"><code>close()</code></a>关闭连接器服务器。
</div> </td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>protected abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/management/remote/rmi/RMIServerImpl.html#export--">export</a></span>()</code>
<div class="block">
导出此RMI对象。
</div> </td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code><a href="../../../../java/lang/ClassLoader.html" title="class in java.lang">ClassLoader</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/management/remote/rmi/RMIServerImpl.html#getDefaultClassLoader--">getDefaultClassLoader</a></span>()</code>
<div class="block">
获取此连接器服务器使用的默认值
<code>ClassLoader</code>
</div> </td>
</tr>
<tr class="altColor" id="i6">
<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/rmi/RMIServerImpl.html#getMBeanServer--">getMBeanServer</a></span>()</code>
<div class="block">
所述
<code>MBeanServer</code>此连接器服务器连接。
</div> </td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code>protected abstract <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/rmi/RMIServerImpl.html#getProtocol--">getProtocol</a></span>()</code>
<div class="block">
返回此对象的协议字符串。
</div> </td>
</tr>
<tr class="altColor" id="i8">
<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/rmi/RMIServerImpl.html#getVersion--">getVersion</a></span>()</code>
<div class="block">
该连接器服务器了解的RMI连接器协议版本。
</div> </td>
</tr>
<tr class="rowColor" id="i9">
<td class="colFirst"><code>protected abstract <a href="../../../../javax/management/remote/rmi/RMIConnection.html" title="interface in javax.management.remote.rmi">RMIConnection</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/management/remote/rmi/RMIServerImpl.html#makeClient-java.lang.String-javax.security.auth.Subject-">makeClient</a></span>(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> connectionId, <a href="../../../../javax/security/auth/Subject.html" title="class in javax.security.auth">Subject</a> subject)</code>
<div class="block">
创建一个新的客户端连接。
</div> </td>
</tr>
<tr class="altColor" id="i10">
<td class="colFirst"><code><a href="../../../../javax/management/remote/rmi/RMIConnection.html" title="interface in javax.management.remote.rmi">RMIConnection</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/management/remote/rmi/RMIServerImpl.html#newClient-java.lang.Object-">newClient</a></span>(<a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a> credentials)</code>
<div class="block">
创建一个新的客户端连接。
</div> </td>
</tr>
<tr class="rowColor" id="i11">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/management/remote/rmi/RMIServerImpl.html#setDefaultClassLoader-java.lang.ClassLoader-">setDefaultClassLoader</a></span>(<a href="../../../../java/lang/ClassLoader.html" title="class in java.lang">ClassLoader</a> cl)</code>
<div class="block">
为此连接器服务器设置默认值
<code>ClassLoader</code>
</div> </td>
</tr>
<tr class="altColor" id="i12">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/management/remote/rmi/RMIServerImpl.html#setMBeanServer-javax.management.MBeanServer-">setMBeanServer</a></span>(<a href="../../../../javax/management/MBeanServer.html" title="interface in javax.management">MBeanServer</a> mbs)</code>
<div class="block">
设置
<code>MBeanServer</code>此连接器服务器连接。
</div> </td>
</tr>
<tr class="rowColor" id="i13">
<td class="colFirst"><code>abstract <a href="../../../../java/rmi/Remote.html" title="interface in java.rmi">Remote</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/management/remote/rmi/RMIServerImpl.html#toStub--">toStub</a></span>()</code>
<div class="block">
返回此服务器对象的远程存根。
</div> </td>
</tr>
</tbody>
</table>
<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> </li>
</ul> </li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- --> </a> <h3>构造方法详细信息</h3> <a name="RMIServerImpl-java.util.Map-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>RMIServerImpl</h4> <pre>public RMIServerImpl(<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)</pre>
<div class="block">
<p>构造一个新的<code>RMIServerImpl</code></p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>env</code> - 包含新的<code>RMIServerImpl</code></span>
<span>可以为空,这相当于一个空的地图。</span>
</dd>
</dl> </li>
</ul> </li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="export--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>export</h4> <pre>protected abstract void export()
throws <a href="../../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<p>导出此RMI对象。 </p>
</div>
<dl>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果此RMI对象无法导出。
</dd>
</dl> </li>
</ul> <a name="toStub--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>toStub</h4> <pre>public abstract <a href="../../../../java/rmi/Remote.html" title="interface in java.rmi">Remote</a> toStub()
throws <a href="../../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
返回此服务器对象的远程存根。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个遥远的短桩
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果无法获取存根 - 例如RMIServerImpl尚未导出。
</dd>
</dl> </li>
</ul> <a name="setDefaultClassLoader-java.lang.ClassLoader-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setDefaultClassLoader</h4> <pre>public void setDefaultClassLoader(<a href="../../../../java/lang/ClassLoader.html" title="class in java.lang">ClassLoader</a> cl)</pre>
<div class="block">
<p> <span>设置此连接器服务器的默认值<code>ClassLoader</code></span> <span>新的客户端连接将使用此类加载器。</span> <span>现有的客户端连接不受影响。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>cl</code> - 这个连接器服务器使用的新的
<code>ClassLoader</code>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../../javax/management/remote/rmi/RMIServerImpl.html#getDefaultClassLoader--"><code>getDefaultClassLoader()</code></a>
</dd>
</dl> </li>
</ul> <a name="getDefaultClassLoader--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getDefaultClassLoader</h4> <pre>public <a href="../../../../java/lang/ClassLoader.html" title="class in java.lang">ClassLoader</a> getDefaultClassLoader()</pre>
<div class="block">
<p>获取此连接器服务器使用的默认值<code>ClassLoader</code></p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
此连接器服务器使用的默认值为
<code>ClassLoader</code>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../../javax/management/remote/rmi/RMIServerImpl.html#setDefaultClassLoader-java.lang.ClassLoader-"><code>setDefaultClassLoader(java.lang.ClassLoader)</code></a>
</dd>
</dl> </li>
</ul> <a name="setMBeanServer-javax.management.MBeanServer-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setMBeanServer</h4> <pre>public void setMBeanServer(<a href="../../../../javax/management/MBeanServer.html" title="interface in javax.management">MBeanServer</a> mbs)</pre>
<div class="block">
<p> <span>设置<code>MBeanServer</code>此连接器服务器连接。</span> <span>新的客户端连接将与此<code>MBeanServer</code>进行交互。</span> <span>现有的客户端连接不受影响。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>mbs</code> - 新的<code>MBeanServer</code></span>
<span>可以为null但是只要新的客户端连接将被拒绝。</span>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../../javax/management/remote/rmi/RMIServerImpl.html#getMBeanServer--"><code>getMBeanServer()</code></a>
</dd>
</dl> </li>
</ul> <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> <span>所述<code>MBeanServer</code>此连接器服务器连接。</span> <span>这是传递给此对象上的<a href="../../../../javax/management/remote/rmi/RMIServerImpl.html#setMBeanServer-javax.management.MBeanServer-"><code>setMBeanServer(javax.management.MBeanServer)</code></a>的最后一个值如果该方法从未被调用则为null。</span> </p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
所述
<code>MBeanServer</code>此连接器附接。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../../javax/management/remote/rmi/RMIServerImpl.html#setMBeanServer-javax.management.MBeanServer-"><code>setMBeanServer(javax.management.MBeanServer)</code></a>
</dd>
</dl> </li>
</ul> <a name="getVersion--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getVersion</h4> <pre>public <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> getVersion()</pre>
<div class="block">
<span class="descfrmTypeLabel">说明从界面: <code><a href="../../../../javax/management/remote/rmi/RMIServer.html#getVersion--">RMIServer</a></code>复制</span>
</div>
<div class="block">
<p> <span>该连接器服务器了解的RMI连接器协议版本。</span> <span>这是一个具有以下格式的字符串:</span> </p>
<pre> <span><em>protocol-version</em> <em>implementation-name</em></span> </pre>
<p> <span><code><em>protocol-version</em></code>是由句点( <code>.</code> <code><em>protocol-version</em></code>的一系列两个或多个非负整数。</span> <span>本文档描述的版本的实现必须在此处使用字符串<code>1.0</code></span> </p>
<p> <span>协议版本后必须有一个空格,后跟执行名称。</span> <span>实现名称的格式未指定。</span> <span>建议包含一个实现版本号。</span> <span>实现可以使用空字符串作为其实现名称,例如出于安全原因。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../javax/management/remote/rmi/RMIServer.html#getVersion--">getVersion</a></code>在界面
<code><a href="../../../../javax/management/remote/rmi/RMIServer.html" title="interface in javax.management.remote.rmi">RMIServer</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个这样描述格式的字符串。
</dd>
</dl> </li>
</ul> <a name="newClient-java.lang.Object-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newClient</h4> <pre>public <a href="../../../../javax/management/remote/rmi/RMIConnection.html" title="interface in javax.management.remote.rmi">RMIConnection</a> newClient(<a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a> credentials)
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/rmi/RMIServerImpl.html#makeClient-java.lang.String-javax.security.auth.Subject-"><code>makeClient</code></a>并将返回的客户端连接对象添加到内部列表。</span> <span>当此<code>RMIServerImpl</code>通过其<a href="../../../../javax/management/remote/rmi/RMIServerImpl.html#close--"><code>close()</code></a>方法关闭时,将调用剩余在列表中的每个对象的<a href="../../../../javax/management/remote/rmi/RMIConnection.html#close--"><code>close()</code></a>方法。</span> </p>
<p> <span>客户端连接对象在此内部列表中的事实并不能阻止它被垃圾回收。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../javax/management/remote/rmi/RMIServer.html#newClient-java.lang.Object-">newClient</a></code>在界面
<code><a href="../../../../javax/management/remote/rmi/RMIServer.html" title="interface in javax.management.remote.rmi">RMIServer</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>credentials</code> - 此对象指定要传递到服务器的用户定义的凭据,以便在创建<code>RMIConnection</code>之前对呼叫者进行<code>RMIConnection</code></span>
<span>可以为null。</span>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>新创<code>RMIConnection</code></span>
<span>这通常是由<code>makeClient</code>创建的对象,尽管实现可以选择将该对象包含在实现<code>RMIConnection</code>的另一个对象中。</span>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果新的客户端对象无法创建或导出。
</dd>
<dd>
<code><a href="../../../../java/lang/SecurityException.html" title="class in java.lang">SecurityException</a></code> - 如果给定的凭据不允许服务器成功验证用户。
</dd>
<dd>
<code><a href="../../../../java/lang/IllegalStateException.html" title="class in java.lang">IllegalStateException</a></code> - 如果
<a href="../../../../javax/management/remote/rmi/RMIServerImpl.html#getMBeanServer--"><code>getMBeanServer()</code></a>为空。
</dd>
</dl> </li>
</ul> <a name="makeClient-java.lang.String-javax.security.auth.Subject-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>makeClient</h4> <pre>protected abstract <a href="../../../../javax/management/remote/rmi/RMIConnection.html" title="interface in javax.management.remote.rmi">RMIConnection</a> makeClient(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> connectionId,
<a href="../../../../javax/security/auth/Subject.html" title="class in javax.security.auth">Subject</a> subject)
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/rmi/RMIServerImpl.html#newClient-java.lang.Object-"><code>newClient(Object)</code>调用</a></span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>connectionId</code> - 新连接的ID。</span>
<span>此连接器服务器打开的每个连接将具有不同的ID。</span>
<span>如果此参数为空,则该行为是未指定的。</span>
</dd>
<dd>
<span><code>subject</code> - 认证主题。</span>
<span>可以为null。</span>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
新创
<code>RMIConnection</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果新的客户端对象无法创建或导出。
</dd>
</dl> </li>
</ul> <a name="closeClient-javax.management.remote.rmi.RMIConnection-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>closeClient</h4> <pre>protected abstract void closeClient(<a href="../../../../javax/management/remote/rmi/RMIConnection.html" title="interface in javax.management.remote.rmi">RMIConnection</a> client)
throws <a href="../../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<p>关闭由<code>makeClient</code>制作的客户端<a href="../../../../javax/management/remote/rmi/RMIServerImpl.html#makeClient-java.lang.String-javax.security.auth.Subject-">连接</a></p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>client</code> - 以前由makeClient返回的<code>makeClient</code> <code>closeClient</code>方法以前未被调用。</span>
<span>如果违反这些条件,则行为是未指定的,包括<code>client</code>为空的情况。</span>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果客户端连接不能关闭。
</dd>
</dl> </li>
</ul> <a name="getProtocol--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getProtocol</h4> <pre>protected abstract <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> getProtocol()</pre>
<div class="block">
<p> <span>返回此对象的协议字符串。</span> <span>该字符串是<code>rmi</code>为RMI / JRMP和<code>iiop</code>为RMI / IIOP。</span> </p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
该对象的协议字符串。
</dd>
</dl> </li>
</ul> <a name="clientClosed-javax.management.remote.rmi.RMIConnection-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>clientClosed</h4> <pre>protected void clientClosed(<a href="../../../../javax/management/remote/rmi/RMIConnection.html" title="interface in javax.management.remote.rmi">RMIConnection</a> client)
throws <a href="../../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<p> <span>当创建一个客户端连接方法称为<a href="../../../../javax/management/remote/rmi/RMIServerImpl.html#makeClient-java.lang.String-javax.security.auth.Subject-"><code>makeClient</code></a>关闭。</span> <span>定义<code>makeClient</code>的子类必须安排在调用最终对象的<a href="../../../../javax/management/remote/rmi/RMIConnection.html#close--"><code>close</code></a>方法时调用<a href="../../../../javax/management/remote/rmi/RMIConnection.html#close--"></a>方法。</span> <span>这使它能够从<code>RMIServerImpl</code>的连接列表中删除。</span> <span><code>client</code>不是在列表中不是错误。</span> </p>
<p> <span>从连接列表中删除<code>client</code>后,此方法调用<a href="../../../../javax/management/remote/rmi/RMIServerImpl.html#closeClient-javax.management.remote.rmi.RMIConnection-"><code>closeClient(client)</code></a></span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>client</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/rmi/RMIServerImpl.html#closeClient-javax.management.remote.rmi.RMIConnection-"><code>closeClient(javax.management.remote.rmi.RMIConnection)</code></a>抛出这个异常。
</dd>
<dd>
<code><a href="../../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>client</code>为空。
</dd>
</dl> </li>
</ul> <a name="close--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>close</h4> <pre>public void close()
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/rmi/RMIServerImpl.html#closeServer--"><code>closeServer()</code></a>方法,以便不会接受新的客户端连接。</span> <span>然后,对于<code>makeClient</code>返回的每个剩余的<a href="../../../../javax/management/remote/rmi/RMIConnection.html" title="javax.management.remote.rmi中的接口">884899274873</a>对象, <a href="../../../../javax/management/remote/rmi/RMIServerImpl.html#makeClient-java.lang.String-javax.security.auth.Subject-">调用</a><a href="../../../../javax/management/remote/rmi/RMIConnection.html#close--"><code>close</code></a>方法。</span> </p>
<p> <span>此方法被多次调用的行为是未指定的。</span> </p>
<p> <span>如果<a href="../../../../javax/management/remote/rmi/RMIServerImpl.html#closeServer--"><code>closeServer()</code></a>抛出一个<code>IOException</code> ,则各个连接仍然关闭,然后<code>IOException</code>从此方法抛出。</span> </p>
<p> <span>如果<a href="../../../../javax/management/remote/rmi/RMIServerImpl.html#closeServer--"><code>closeServer()</code></a>正常返回,但是一个或多个单个连接会引发一个<code>IOException</code> ,则在关闭所有连接后,将从该方法中抛出其中一个<code>IOException</code></span> <span>如果一个以上的连接引发了一个<code>IOException</code> ,那么这个方法是从哪个引用的。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../java/io/Closeable.html#close--">close</a></code>在界面
<code><a href="../../../../java/io/Closeable.html" title="interface in java.io">Closeable</a></code>
</dd>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../java/lang/AutoCloseable.html#close--">close</a></code>在界面
<code><a href="../../../../java/lang/AutoCloseable.html" title="interface in java.lang">AutoCloseable</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/rmi/RMIServerImpl.html#closeServer--"><code>closeServer()</code></a>或其中一个
<a href="../../../../javax/management/remote/rmi/RMIConnection.html#close--"><code>RMIConnection.close()</code></a>电话投掷
<code>IOException</code>
</dd>
</dl> </li>
</ul> <a name="closeServer--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>closeServer</h4> <pre>protected abstract void closeServer()
throws <a href="../../../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
<div class="block">
<p> <span>调用<a href="../../../../javax/management/remote/rmi/RMIServerImpl.html#close--"><code>close()</code></a>关闭连接器服务器。</span> <span>从此方法返回后,连接器服务器不能接受任何新的连接。</span> </p>
</div>
<dl>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果尝试关闭连接器服务器失败。
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>