org.seasar.remoting.rmi.connector.impl
クラス RMIConnectorImpl

java.lang.Object
  拡張org.seasar.remoting.common.connector.impl.URLBasedConnector
      拡張org.seasar.remoting.rmi.connector.impl.RMIConnectorImpl
すべての実装インタフェース:
org.seasar.remoting.common.connector.Connector

public class RMIConnectorImpl
extends org.seasar.remoting.common.connector.impl.URLBasedConnector

RMIを使用してリモートメソッドの呼び出しを行うコネクタの実装クラス.

作成者:
Kenichiro Murata

フィールドの概要
protected  RMIAdaptor adaptorStub
           
static int DEFAULT_PORT
           
 
クラス org.seasar.remoting.common.connector.impl.URLBasedConnector から継承したフィールド
baseURL
 
コンストラクタの概要
RMIConnectorImpl()
          インスタンスを構築します。
 
メソッドの概要
protected  RMIAdaptor getAdaptor()
          RMIアダプタを返します。
 Object invoke(String componentName, Method method, Object[] args)
           
 void lookup()
          diconファイルで設定されたbaseURLプロパティを使用して、 RMIレジストリからRMIAdaptorのスタブクラスを取得します。
protected  void resetAdaptor(RMIAdaptor adaptor)
          RMIアダプタをリセットします。
protected  void resetAdaptorIfNecessary(Throwable e, RMIAdaptor adaptor)
          例外をチェックして、必要であればRMIアダプタをリセットします。
 void setBaseURLAsString(String baseURL)
          ベースURLを文字列で設定します。
 
クラス org.seasar.remoting.common.connector.impl.URLBasedConnector から継承したメソッド
getBaseURL, setBaseURL
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

DEFAULT_PORT

public static final int DEFAULT_PORT
関連項目:
定数フィールド値

adaptorStub

protected RMIAdaptor adaptorStub
コンストラクタの詳細

RMIConnectorImpl

public RMIConnectorImpl()
インスタンスを構築します。

メソッドの詳細

invoke

public Object invoke(String componentName,
                     Method method,
                     Object[] args)
              throws RemoteException,
                     Exception
例外:
RemoteException
Exception

lookup

public void lookup()
            throws RemoteException,
                   MalformedURLException,
                   NotBoundException
diconファイルで設定されたbaseURLプロパティを使用して、 RMIレジストリからRMIAdaptorのスタブクラスを取得します。

例外:
RemoteException - レジストリへの問い合わせ時にスローされるRMIの例外
MalformedURLException - baseURLがrmiプロトコルではない場合の例外
NotBoundException - RMIレジストリにRMIAdaptorが未登録の場合の例外

setBaseURLAsString

public void setBaseURLAsString(String baseURL)
                        throws MalformedURLException
ベースURLを文字列で設定します。

パラメータ:
baseURL - ベースURLの文字列です
例外:
MalformedURLException

getAdaptor

protected RMIAdaptor getAdaptor()
                         throws RemoteException,
                                MalformedURLException,
                                NotBoundException
RMIアダプタを返します。

RMIアダプタを取得済みの場合はそれを返します。 RMIアダプタが未取得の場合、またはリセットされた場合は新たにRMIアダプタをルックアップして返します。

戻り値:
RMIアダプタ
例外:
RemoteException - レジストリへの問い合わせ時にスローされるRMIの例外
MalformedURLException - baseURLがrmiプロトコルではない場合の例外
NotBoundException - RMIレジストリにRMIAdaptorが未登録の場合の例外

resetAdaptorIfNecessary

protected void resetAdaptorIfNecessary(Throwable e,
                                       RMIAdaptor adaptor)
例外をチェックして、必要であればRMIアダプタをリセットします。

例外がConnectExceptionまたはNoSuchObjectExceptionのいずれかであれば、 RMIアダプタをリセットします。

パラメータ:
e - 発生した例外
adaptor - リセットするRMIアダプタ

resetAdaptor

protected void resetAdaptor(RMIAdaptor adaptor)
RMIアダプタをリセットします。

コネクション障害が発生した場合などに利用不能となったRMIアダプタを破棄するために呼び出されます。

パラメータ:
adaptor - 利用不能となったRMIアダプタ


Copyright © 2005-2006 The Seasar Foundation. All Rights Reserved.