uTools-Manuals/docs/java/javax/rmi/PortableRemoteObject.html

286 lines
13 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">
javax.rmi
</div>
<h2 class="title" title="Class PortableRemoteObject">Class PortableRemoteObject</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.rmi.PortableRemoteObject</li>
</ul> </li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr/> <br/> <pre>public class <span class="typeNameLabel">PortableRemoteObject</span>
extends <a href="../../java/lang/Object.html" title="class in java.lang">Object</a></pre>
<div class="block">
<span>服务器实现对象可以从javax.rmi.PortableRemoteObject继承也可以实现远程接口然后使用exportObject方法将自身注册为服务对象。</span>
<span>toStub方法接受服务器实现并返回可用于访问该服务器对象的存根。</span>
<span>连接方法使远程对象准备好进行远程通信。</span>
<span>unreportObject方法用于注销服务器对象使其可用于垃圾回收。</span>
<span>窄方法采用对象引用或抽象接口类型,并尝试缩小它以符合给定的接口。</span>
<span>如果操作成功,结果将是指定类型的对象,否则将抛出异常。</span>
</div> </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="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/rmi/PortableRemoteObject.html#PortableRemoteObject--">PortableRemoteObject</a></span>()</code>
<div class="block">
通过调用
<code>exportObject(this)</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="t1"><span><a href="javascript:show(1);">静态方法</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>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/rmi/PortableRemoteObject.html#connect-java.rmi.Remote-java.rmi.Remote-">connect</a></span>(<a href="../../java/rmi/Remote.html" title="interface in java.rmi">Remote</a> target, <a href="../../java/rmi/Remote.html" title="interface in java.rmi">Remote</a> source)</code>
<div class="block">
使远程对象准备好进行远程通信。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/rmi/PortableRemoteObject.html#exportObject-java.rmi.Remote-">exportObject</a></span>(<a href="../../java/rmi/Remote.html" title="interface in java.rmi">Remote</a> obj)</code>
<div class="block">
使服务器对象准备好接收远程调用。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>static <a href="../../java/lang/Object.html" title="class in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/rmi/PortableRemoteObject.html#narrow-java.lang.Object-java.lang.Class-">narrow</a></span>(<a href="../../java/lang/Object.html" title="class in java.lang">Object</a> narrowFrom, <a href="../../java/lang/Class.html" title="class in java.lang"></a> narrowTo)</code>
<div class="block">
检查以确保远程或抽象接口类型的对象可以转换为所需类型。
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>static <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/rmi/PortableRemoteObject.html#toStub-java.rmi.Remote-">toStub</a></span>(<a href="../../java/rmi/Remote.html" title="interface in java.rmi">Remote</a> obj)</code>
<div class="block">
返回给定服务器对象的存根。
</div> </td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/rmi/PortableRemoteObject.html#unexportObject-java.rmi.Remote-">unexportObject</a></span>(<a href="../../java/rmi/Remote.html" title="interface in java.rmi">Remote</a> obj)</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="PortableRemoteObject--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>PortableRemoteObject</h4> <pre>protected PortableRemoteObject()
throws <a href="../../java/rmi/RemoteException.html" title="class in java.rmi">RemoteException</a></pre>
<div class="block">
通过调用
<code>exportObject(this)</code>
<code>exportObject(this)</code>对象。
</div>
<dl>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../java/rmi/RemoteException.html" title="class in java.rmi">RemoteException</a></code> - 如果导出失败。
</dd>
</dl> </li>
</ul> </li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="exportObject-java.rmi.Remote-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>exportObject</h4> <pre>public static void exportObject(<a href="../../java/rmi/Remote.html" title="interface in java.rmi">Remote</a> obj)
throws <a href="../../java/rmi/RemoteException.html" title="class in java.rmi">RemoteException</a></pre>
<div class="block">
<span>使服务器对象准备好接收远程调用。</span>
<span>请注意PortableRemoteObject的子类不需要调用此方法因为它由构造函数调用。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>obj</code> - 要导出的服务器对象。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../java/rmi/RemoteException.html" title="class in java.rmi">RemoteException</a></code> - 如果导出失败。
</dd>
</dl> </li>
</ul> <a name="toStub-java.rmi.Remote-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>toStub</h4> <pre>public static <a href="../../java/rmi/Remote.html" title="interface in java.rmi">Remote</a> toStub(<a href="../../java/rmi/Remote.html" title="interface in java.rmi">Remote</a> obj)
throws <a href="../../java/rmi/NoSuchObjectException.html" title="class in java.rmi">NoSuchObjectException</a></pre>
<div class="block">
返回给定服务器对象的存根。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>obj</code> - 需要存根的服务器对象。</span>
<span>必须是PortableRemoteObject的一个子类或者以前被呼叫的目标<a href="../../javax/rmi/PortableRemoteObject.html#exportObject-java.rmi.Remote-"><code>exportObject(java.rmi.Remote)</code></a></span>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
对象的最导出的存根。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../java/rmi/NoSuchObjectException.html" title="class in java.rmi">NoSuchObjectException</a></code> - 如果无法为给定的服务器对象找到存根。
</dd>
</dl> </li>
</ul> <a name="unexportObject-java.rmi.Remote-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>unexportObject</h4> <pre>public static void unexportObject(<a href="../../java/rmi/Remote.html" title="interface in java.rmi">Remote</a> obj)
throws <a href="../../java/rmi/NoSuchObjectException.html" title="class in java.rmi">NoSuchObjectException</a></pre>
<div class="block">
从运行时取消注册服务器对象,允许对象可用于垃圾回收。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>obj</code> - 要取消导出的对象。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../java/rmi/NoSuchObjectException.html" title="class in java.rmi">NoSuchObjectException</a></code> - 如果远程对象当前未导出。
</dd>
</dl> </li>
</ul> <a name="narrow-java.lang.Object-java.lang.Class-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>narrow</h4> <pre>public static <a href="../../java/lang/Object.html" title="class in java.lang">Object</a> narrow(<a href="../../java/lang/Object.html" title="class in java.lang">Object</a> narrowFrom,
<a href="../../java/lang/Class.html" title="class in java.lang"></a> narrowTo)
throws <a href="../../java/lang/ClassCastException.html" title="class in java.lang">ClassCastException</a></pre>
<div class="block">
检查以确保远程或抽象接口类型的对象可以转换为所需类型。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>narrowFrom</code> - 要检查的对象。
</dd>
<dd>
<code>narrowTo</code> - 所需类型。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
可以将其投射到所需类型的对象。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../java/lang/ClassCastException.html" title="class in java.lang">ClassCastException</a></code> - 如果narrowFrom不能被转换为narrowTo。
</dd>
</dl> </li>
</ul> <a name="connect-java.rmi.Remote-java.rmi.Remote-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>connect</h4> <pre>public static void connect(<a href="../../java/rmi/Remote.html" title="interface in java.rmi">Remote</a> target,
<a href="../../java/rmi/Remote.html" title="interface in java.rmi">Remote</a> source)
throws <a href="../../java/rmi/RemoteException.html" title="class in java.rmi">RemoteException</a></pre>
<div class="block">
<span>使远程对象准备好进行远程通信。</span>
<span>这通常在对象作为远程方法调用的参数发送或接收时隐含发生,但在某些情况下,通过进行显式调用来执行此操作是有用的。</span>
<span>有关详细信息,请参阅<a href="../../javax/rmi/CORBA/Stub.html#connect-org.omg.CORBA.ORB-"><code>Stub.connect(org.omg.CORBA.ORB)</code></a>方法。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>target</code> - 要连接的对象。
</dd>
<dd>
<code>source</code> - 以前连接的对象。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../java/rmi/RemoteException.html" title="class in java.rmi">RemoteException</a></code> - 如果
<code>source</code>未连接或
<code>target</code>已经连接到不同的ORB比
<code>source</code>
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>