public class UnicastRemoteObject extends RemoteServer
rmic
ツールを使用してビルド時に静的に生成されます。
非推奨: 静的スタブ。静的に生成されたスタブのサポートは非推奨です。これには、静的スタブを使用する必要があるこのクラス内のAPI、および静的スタブのロードに対する実行時サポートが含まれます。次に示すように、オブジェクトをエクスポートする非推奨でない5つの方法のいずれかを使用して、スタブを動的に生成することが推奨されます。rmic
を実行して静的スタブ・クラスを生成しないでください。これは不要であり、また非推奨でもあります。
リモート・オブジェクトをエクスポートするには、次の6つの方法があります。
UnicastRemoteObject
のサブクラス化およびUnicastRemoteObject()
コンストラクタの呼出し。
UnicastRemoteObject
のサブクラス化およびUnicastRemoteObject(port)
コンストラクタの呼出し。
UnicastRemoteObject
のサブクラス化およびUnicastRemoteObject(port, csf, ssf)
コンストラクタの呼出し。
exportObject(Remote)
メソッドの呼出し。非推奨。
exportObject(Remote, port)
メソッドの呼出し。
exportObject(Remote, port, csf, ssf)
メソッドの呼出し。
4番目の手法であるexportObject(Remote)
は、静的に生成されたスタブを常に使用するため、非推奨です。
それ以外の5つの手法ではすべて、次の方法が使用されます。java.rmi.server.ignoreStubClasses
プロパティがtrue
(大文字と小文字は区別されない)である場合、または静的スタブが見つからない場合、スタブはProxy
オブジェクトを使用して動的に生成されます。それ以外の場合は、静的スタブが使用されます。
java.rmi.server.ignoreStubClasses
プロパティのデフォルト値はfalse
です。
静的に生成されたスタブは通常、rmic
ツールを使用してリモート・オブジェクトのクラスから事前生成されます。次に説明するように、静的スタブがロードされ、そのスタブ・クラスのインスタンスが構築されます。
Remote
を拡張したインタフェースを直接実装している場合、そのリモート・オブジェクトのクラスがルート・クラスになります。それ以外の場合、リモート・オブジェクトのクラスのスーパー・クラスのうち、Remote
を拡張したインタフェースを直接実装している最上位のクラスが、ルート・クラスになります。
_Stub
が連結されます。
RemoteStub
を拡張しており、かつRemoteRef
型のパラメータを1つ受け取るpublicコンストラクタを備えている必要があります。
RemoteRef
を使って構築されます。
StubNotFoundException
がスローされます。
スタブは、次の特性を持つProxy
のインスタンスを構築することによって動的に生成されます。
RemoteRef
を使って構築されたRemoteObjectInvocationHandler
インスタンスになる。
StubNotFoundException
がスローされる。
RMISocketFactory
が使用される場合があります。デフォルトでは、RMISocketFactory
によって作成されるサーバー・ソケットはすべてのネットワーク・インタフェースで待機します。RMISocketFactory
クラスおよび『Java Remote Method Invocationの仕様』のセクション「RMIソケット・ファクトリ」を参照してください。ref
修飾子 | コンストラクタと説明 |
---|---|
protected |
UnicastRemoteObject()
匿名ポートを使用して、新しいUnicastRemoteObjectオブジェクトの作成とエクスポートを行います。
|
protected |
UnicastRemoteObject(int port)
指定されたポートを使用して、新しいUnicastRemoteObjectオブジェクトの作成とエクスポートを行います。
|
protected |
UnicastRemoteObject(int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf)
指定されたポートとソケット・ファクトリを使用して、新しいUnicastRemoteObjectオブジェクトの作成とエクスポートを行います。
|
修飾子と型 | メソッドと説明 |
---|---|
Object |
clone()
元のオブジェクトと明確に区別できるリモート・オブジェクトの複製を返します。
|
static RemoteStub |
exportObject(Remote obj)
非推奨。
このメソッドは、静的スタブのみをサポートするため、非推奨になりました。代わりに
exportObject(Remote, port) またはexportObject(Remote, port, csf, ssf) を使用してください。 |
static Remote |
exportObject(Remote obj, int port)
リモート・オブジェクトをエクスポートして、着信呼出しの受信に使用できるようにします。指定されたポートを使用します。
|
static Remote |
exportObject(Remote obj, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf)
リモート・オブジェクトをエクスポートして、着信呼出しの受信に使用できるようにします。指定されたソケット・ファクトリによって特定されたトランスポートを使用します。
|
static boolean |
unexportObject(Remote obj, boolean force)
RMIランタイムからリモート・オブジェクトobjを削除します。
|
getClientHost, getLog, setLog
protected UnicastRemoteObject() throws RemoteException
オブジェクトは、RMISocketFactory
クラスを使用して作成されたサーバー・ソケットを使用してエクスポートされます。
RemoteException
- オブジェクトのエクスポートが失敗した場合protected UnicastRemoteObject(int port) throws RemoteException
オブジェクトは、RMISocketFactory
クラスを使用して作成されたサーバー・ソケットを使用してエクスポートされます。
port
- リモート・オブジェクトが呼出しを受信するポートの番号。port
がゼロの場合は、匿名ポートが選択されるRemoteException
- オブジェクトのエクスポートが失敗した場合protected UnicastRemoteObject(int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf) throws RemoteException
いずれかのソケット・ファクトリをnull
にできます。この場合、RMISocketFactory
の対応するクライアントまたはサーバー・ソケット作成メソッドがかわりに使用されます。
port
- リモート・オブジェクトが呼出しを受信するポートの番号。port
がゼロの場合は、匿名ポートが選択されるcsf
- リモート・オブジェクトの呼出しに使用する、クライアント側ソケット・ファクトリssf
- リモート呼出しを受信する、サーバー側ソケット・ファクトリRemoteException
- オブジェクトのエクスポートが失敗した場合public Object clone() throws CloneNotSupportedException
clone
、クラス: Object
CloneNotSupportedException
- 複製がRemoteExceptionのために失敗した場合。Cloneable
@Deprecated public static RemoteStub exportObject(Remote obj) throws RemoteException
exportObject(Remote, port)
またはexportObject(Remote, port, csf, ssf)
を使用してください。オブジェクトは、RMISocketFactory
クラスを使用して作成されたサーバー・ソケットを使用してエクスポートされます。
obj
- エクスポートするリモート・オブジェクトRemoteException
- エクスポートに失敗した場合public static Remote exportObject(Remote obj, int port) throws RemoteException
オブジェクトは、RMISocketFactory
クラスを使用して作成されたサーバー・ソケットを使用してエクスポートされます。
obj
- エクスポートするリモート・オブジェクトport
- オブジェクトのエクスポート先のポートRemoteException
- エクスポートに失敗した場合public static Remote exportObject(Remote obj, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf) throws RemoteException
いずれかのソケット・ファクトリをnull
にできます。この場合、RMISocketFactory
の対応するクライアントまたはサーバー・ソケット作成メソッドがかわりに使用されます。
obj
- エクスポートするリモート・オブジェクトport
- オブジェクトのエクスポート先のポートcsf
- リモート・オブジェクトの呼出しに使用する、クライアント側ソケット・ファクトリssf
- リモート呼出しを受信する、サーバー側ソケット・ファクトリRemoteException
- エクスポートに失敗した場合public static boolean unexportObject(Remote obj, boolean force) throws NoSuchObjectException
obj
- アンエクスポートされるリモート・オブジェクトforce
- trueの場合は、保留中または進行中の呼出しがあっても、オブジェクトをアンエクスポートする。falseの場合は、保留中または進行中の呼出しがないときにだけ、オブジェクトをアンエクスポートするNoSuchObjectException
- リモート・オブジェクトが現在エクスポートされていない場合 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.