- すべての実装されたインタフェース:
- Closeable,- AutoCloseable,- Remote,- RMIServer
- 直系の既知のサブクラス:
- RMIIIOPServerImpl,- RMIJRMPServerImpl
コネクタ・サーバーを表すRMIオブジェクトです。 リモート・クライアントは、newClient(Object)メソッドを使って接続を行えます。 このメソッドは、接続を表すRMIオブジェクトを返します。 
ユーザー・コードは、必ずしもこのクラスを直接参照しません。 通常、RMI接続サーバーは、RMIConnectorServerクラスで作成されます。 リモート・クライアントは、通常、JMXConnectorFactoryを使用するか、RMIConnectorをインスタンス化することによって接続を作成します。 
これは抽象クラスです。 具体的なサブクラスは、クライアント接続オブジェクトの詳細を定義します。
- 導入されたバージョン:
- 1.5
- 
コンストラクタのサマリーコンストラクタ
- 
メソッドのサマリー修飾子と型メソッド説明protected voidclientClosed(RMIConnection client)makeClientによって作成されたクライアント接続の終了時に呼び出されるメソッドです。voidclose()この接続サーバーを終了します。protected abstract voidcloseClient(RMIConnection client)makeClientで作成されたクライアント接続を終了します。protected abstract voidclose()によって呼び出され、コネクタ・サーバーを終了します。protected abstract voidexport()このRMIオブジェクトをエクスポートします。このコネクタ・サーバーで使用されるデフォルトのClassLoaderを取得します。このコネクタ・サーバーの接続先のMBeanServerです。protected abstract Stringこのオブジェクトのプロトコル文字列を返します。このコネクタ・サーバーが認識するRMIコネクタ・プロトコルのバージョンです。protected abstract RMIConnectionmakeClient(String connectionId, Subject subject)新しいクライアント接続を作成します。新しいクライアント接続を作成します。voidこのコネクタ・サーバーのデフォルトのClassLoaderを設定します。voidsetMBeanServer(MBeanServer mbs)このコネクタ・サーバーの接続先のMBeanServerを設定します。abstract RemotetoStub()このサーバー・オブジェクトのリモート処理可能なスタブを返します。
- 
コンストラクタの詳細- 
RMIServerImpl新しい RMIServerImplを構築します。- パラメータ:
- env- 新しい- RMIServerImplの属性を含む環境。 nullも可、その場合は空マップと同等。
 
 
- 
- 
メソッドの詳細- 
exportprotected abstract void export() throws IOExceptionこのRMIオブジェクトをエクスポートします。 - 例外:
- IOException- このRMIオブジェクトをエクスポートできない場合。
 
- 
toStubpublic abstract Remote toStub() throws IOExceptionこのサーバー・オブジェクトのリモート処理可能なスタブを返します。- 戻り値:
- リモート処理可能なスタブ。
- 例外:
- IOException- スタブを取得できない場合。たとえば、RMIServerImplがまだエクスポートされていない場合など。
 
- 
setDefaultClassLoaderpublic void setDefaultClassLoader(ClassLoader cl)このコネクタ・サーバーのデフォルトの ClassLoaderを設定します。 新しいクライアント接続は、このクラス・ローダーを使用します。 既存のクライアント接続に影響はありません。- パラメータ:
- cl- このコネクタ・サーバーで使用される新しい- ClassLoader。
- 関連項目:
- getDefaultClassLoader()
 
- 
getDefaultClassLoaderpublic ClassLoader getDefaultClassLoader()このコネクタ・サーバーで使用されるデフォルトの ClassLoaderを取得します。- 戻り値:
- このコネクタ・サーバーで使用されるデフォルトのClassLoader。
- 関連項目:
- setDefaultClassLoader(java.lang.ClassLoader)
 
- 
setMBeanServerpublic void setMBeanServer(MBeanServer mbs)このコネクタ・サーバーの接続先の MBeanServerを設定します。 新しいクライアント接続は、このMBeanServerと相互に作用します。 既存のクライアント接続に影響はありません。- パラメータ:
- mbs- 新しい- MBeanServer。 nullでもよいが、その場合、新しいクライアント接続は拒否される。
- 関連項目:
- getMBeanServer()
 
- 
getMBeanServerpublic MBeanServer getMBeanServer()このコネクタ・サーバーの接続先の MBeanServerです。 これは、このオブジェクト上でsetMBeanServer(javax.management.MBeanServer)に渡される最後の値です。そのメソッドが1回も呼び出されていない場合はnullになります。- 戻り値:
- このコネクタの接続先のMBeanServer。
- 関連項目:
- setMBeanServer(javax.management.MBeanServer)
 
- 
getVersionpublic String getVersion()次のインタフェースからコピーされた説明:RMIServerこのコネクタ・サーバーが認識するRMIコネクタ・プロトコルのバージョンです。 次の形式の文字列になります。 protocol-version implementation-name protocol-versionはゼロ以上の複数の整数をピリオド(.)で区切った形式になります。 このドキュメントに記載されているバージョンの実装では、文字列1.0を使用します。プロトコル・バージョンと実装名の間には空白文字を1つ入力する必要があります。 実装名の形式は特定されていませんが、 実装のバージョン番号を含めることをお薦めします。 セキュリティ上の理由などにより、実装名として空文字列を指定することもできます。 - 定義:
- getVersion、インタフェース:- RMIServer
- 戻り値:
- ここで説明されている形式の文字列。
 
- 
newClientpublic RMIConnection newClient(Object credentials) throws IOException新しいクライアント接続を作成します。 このメソッドは、 makeClientを呼び出し、返されたクライアント接続オブジェクトを内部リストに追加します。close()メソッドにより、このRMIServerImplが終了した場合、リスト内に残っている各オブジェクトのclose()メソッドが呼び出されます。この内部リスト内にクライアント接続オブジェクトが存在していても、このクライアント接続オブジェクトがガベージ・コレクションの対象から除外されるわけではありません。 - 定義:
- newClient、インタフェース:- RMIServer
- パラメータ:
- credentials- このオブジェクトは、- RMIConnectionを作成する前に、呼出し側の認証用としてサーバーに渡されるユーザー定義の証明書を指定する。 nullも可。
- 戻り値:
- 新しく生成されたRMIConnection。 これは通常、makeClientによって作成されたオブジェクトであるが、実装では、RMIConnectionを実装する別のオブジェクトにこのオブジェクトをラップできる。
- 例外:
- IOException- 新しいクライアント・オブジェクトを作成またはエクスポートできない場合。
- SecurityException- 指定された証明書では、サーバーがユーザーを認証できない場合。
- IllegalStateException-- getMBeanServer()がnullである場合。
 
- 
makeClientprotected abstract RMIConnection makeClient(String connectionId, Subject subject) throws IOException新しいクライアント接続を作成します。 このメソッドは、公開メソッド newClient(Object)によって呼び出されます。- パラメータ:
- connectionId- 新しい接続のID。 このコネクタ・サーバーによって開かれたすべての接続は、それぞれ異なるIDを持つ。 このパラメータがnullの場合の動作は不定。
- subject- 認証済みのサブジェクト。 nullも可。
- 戻り値:
- 新しく生成されたRMIConnection。
- 例外:
- IOException- 新しいクライアント・オブジェクトを作成またはエクスポートできない場合。
 
- 
closeClientprotected abstract void closeClient(RMIConnection client) throws IOExceptionmakeClientで作成されたクライアント接続を終了します。- パラメータ:
- client- 以前に- makeClientによって返された、- closeClientメソッドがまだ1回も呼び出されていない接続。- clientがnullの場合を含めて、何らかの条件違反があった場合、動作は不定になる。
- 例外:
- IOException- クライアント接続を終了できない場合。
 
- 
getProtocolprotected abstract String getProtocol()このオブジェクトのプロトコル文字列を返します。 文字列はRMI/JRMPの場合は rmiです。- 戻り値:
- このオブジェクトのプロトコル文字列。
 
- 
clientClosedprotected void clientClosed(RMIConnection client) throws IOExceptionmakeClientによって作成されたクライアント接続の終了時に呼び出されるメソッドです。makeClientを定義するサブクラスは、生成されたオブジェクトのcloseメソッドが呼び出されたとき、このメソッドが呼び出されるように配置する必要があります。 これにより、RMIServerImplの接続リストからの削除が可能になります。 このリスト内にclientが存在していなくても、エラーではありません。このメソッドは、接続リストから clientを削除したあと、closeClient(client)を呼び出します。- パラメータ:
- client- 終了したクライアント接続。
- 例外:
- IOException-- closeClient(javax.management.remote.rmi.RMIConnection)がこの例外をスローする場合。
- NullPointerException-- clientがnullである場合。
 
- 
closepublic void close() throws IOExceptionこの接続サーバーを終了します。 このメソッドは、新しいクライアント接続をこれ以上受け付けないようにするため、最初に closeServer()メソッドを呼び出します。 すると、makeClientによって返された残りのRMIConnectionオブジェクトのそれぞれに対して、そのcloseメソッドが呼び出されます。このメソッドが2回以上呼び出されたときの動作は指定されていません。 closeServer()がIOExceptionをスローした場合、個々の接続は終了します。その後、このメソッドからIOExceptionがスローされます。closeServer()は正常に復帰したが、1つ以上の接続がIOExceptionをスローした場合、すべての接続が終了したあと、これらのIOExceptionのうちの1つがこのメソッドからスローされます。 1つ以上の接続がIOExceptionをスローした場合、このメソッドからスローされる内容は不定になります。- 定義:
- close、インタフェース:- AutoCloseable
- 定義:
- close、インタフェース:- Closeable
- 例外:
- IOException-- closeServer()またはいずれかの- RMIConnection.close()呼出しが- IOExceptionをスローした場合。
 
- 
closeServerprotected abstract void closeServer() throws IOExceptionclose()によって呼び出され、コネクタ・サーバーを終了します。 このメソッドの終了後、コネクタ・サーバーは新しい接続を一切受け付けなくなります。- 例外:
- IOException- コネクタ・サーバーの終了に失敗した場合。
 
 
-