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, setLogprotected 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、クラス: ObjectCloneNotSupportedException - 複製が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.