JavaTM Platform
Standard Ed. 6

java.rmi.server
クラス RMISocketFactory

java.lang.Object
  上位を拡張 java.rmi.server.RMISocketFactory
すべての実装されたインタフェース:
RMIClientSocketFactory, RMIServerSocketFactory

public abstract class RMISocketFactory
extends Object
implements RMIClientSocketFactory, RMIServerSocketFactory

RMISocketFactory クラスのインスタンスは、RMI のランタイムが RMI コール用にクライアントとサーバーのソケットを取得するために使用します。アプリケーションは、setSocketFactory メソッドを使って、RMI ランタイムに対して、デフォルトの実装の代わりにソケットファクトリのインスタンスを使うように要求することができます。

デフォルトのソケットファクトリの実装では、3 段階でクライアントソケットを作成する方法を取っています。最初に、リモートの VM に対して直接ソケット接続を試みます。その試みが (ファイアウォールのために) 失敗した場合には、RMI のランタイム は、サーバーのポート番号を明示して HTTP を使用します。ファイアウォールがそのような種類の通信を許可しない場合には、サーバー上の cgi-bin スクリプトに対する HTTP が、RMI 呼び出しを POST するために使用されます。

導入されたバージョン:
JDK1.1

コンストラクタの概要
RMISocketFactory()
          RMISocketFactory を作成します。
 
メソッドの概要
abstract  ServerSocket createServerSocket(int port)
          指定ポート用のサーバソケットを作成します。
abstract  Socket createSocket(String host, int port)
          指定されたホストとポートに接続されるクライアントソケットを作成します。
static RMISocketFactory getDefaultSocketFactory()
          この RMI の実装に使用される、デフォルトのソケットファクトリへの参照を返します。
static RMIFailureHandler getFailureHandler()
          setFailureHandler メソッドによって設定されたソケット作成エラーハンドラを返します。
static RMISocketFactory getSocketFactory()
          setSocketFactory メソッドによって設定されたソケットファクトリを返します。
static void setFailureHandler(RMIFailureHandler fh)
          サーバーソケットの作成が失敗した場合に、RMI のランタイムが呼び出すエラーハンドラを設定します。
static void setSocketFactory(RMISocketFactory fac)
          リモートオブジェクトが特定のクライアントソケットファクトリまたはサーバーソケットファクトリに関連付けられていない場合に、RMI がソケットを取得するグローバルソケットファクトリを設定します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

RMISocketFactory

public RMISocketFactory()
RMISocketFactory を作成します。

導入されたバージョン:
JDK1.1
メソッドの詳細

createSocket

public abstract Socket createSocket(String host,
                                    int port)
                             throws IOException
指定されたホストとポートに接続されるクライアントソケットを作成します。

定義:
インタフェース RMIClientSocketFactory 内の createSocket
パラメータ:
host - ホスト名
port - ポート番号
戻り値:
指定されたホストとポートに接続されるソケット
例外:
IOException - ソケットの作成時に入出力エラーが発生した場合
導入されたバージョン:
JDK1.1

createServerSocket

public abstract ServerSocket createServerSocket(int port)
                                         throws IOException
指定ポート用のサーバソケットを作成します。ポート 0 は匿名ポートを示します。

定義:
インタフェース RMIServerSocketFactory 内の createServerSocket
パラメータ:
port - ポート番号
戻り値:
指定されたポートのサーバソケット
例外:
IOException - サーバーソケットの作成時に入出力エラーが発生した場合
導入されたバージョン:
JDK1.1

setSocketFactory

public static void setSocketFactory(RMISocketFactory fac)
                             throws IOException
リモートオブジェクトが特定のクライアントソケットファクトリまたはサーバーソケットファクトリに関連付けられていない場合に、RMI がソケットを取得するグローバルソケットファクトリを設定します。RMI ソケットファクトリは、1 回しか設定できません。注:RMISocketFactory は現在のセキュリティーマネージャーがソケットファクトリの設定を許可している場合にかぎり設定できるという点に注意してください。許可されていない場合には、SecurityException がスローされます。

パラメータ:
fac - ソケットファクトリ
例外:
IOException - RMI ソケットファクトリがすでに設定されている場合
SecurityException - セキュリティーマネージャーが存在し、その checkSetFactory メソッドがこの操作を許可しない場合
導入されたバージョン:
JDK1.1
関連項目:
getSocketFactory(), SecurityManager.checkSetFactory()

getSocketFactory

public static RMISocketFactory getSocketFactory()
setSocketFactory メソッドによって設定されたソケットファクトリを返します。ソケットファクトリが設定されていない場合は null を返します。

戻り値:
ソケットファクトリ
導入されたバージョン:
JDK1.1
関連項目:
setSocketFactory(RMISocketFactory)

getDefaultSocketFactory

public static RMISocketFactory getDefaultSocketFactory()
この RMI の実装に使用される、デフォルトのソケットファクトリへの参照を返します。このファクトリは、getSocketFactory から null が返された場合に、RMI ランタイムによって使用されます。

戻り値:
デフォルトの RMI ソケットファクトリ
導入されたバージョン:
JDK1.1

setFailureHandler

public static void setFailureHandler(RMIFailureHandler fh)
サーバーソケットの作成が失敗した場合に、RMI のランタイムが呼び出すエラーハンドラを設定します。デフォルトでは、もしエラーハンドラがインストールされておらず、サーバーソケットの作成が失敗した場合には、RMI ランタイムはサーバーソケットの作成を再試行します。

セキュリティーマネージャーが存在する場合、このメソッドは最初にセキュリティーマネージャーの checkSetFactory メソッドを呼び出すことにより、この操作が許可されていることを確認します。この結果、SecurityException になることがあります。

パラメータ:
fh - エラーハンドラ
例外:
SecurityException - セキュリティーマネージャーが存在し、その checkSetFactory メソッドがこの操作を許可しない場合
導入されたバージョン:
JDK1.1
関連項目:
getFailureHandler(), RMIFailureHandler.failure(Exception)

getFailureHandler

public static RMIFailureHandler getFailureHandler()
setFailureHandler メソッドによって設定されたソケット作成エラーハンドラを返します。

戻り値:
エラーハンドラ
導入されたバージョン:
JDK1.1
関連項目:
setFailureHandler(RMIFailureHandler)

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。