ページの先頭行へ戻る
Interstage Application Server リファレンスマニュアル(API編)

3.18.1 インスタンス解放インタフェース

  インスタンス解放インタフェースを取り扱うPOAdisconnectクラスについて説明します。
この機能は、CORBAサービスのインスタンス管理機能を利用し、かつPOAがActiveObjectMapを使用してインスタンス管理を行っている場合にのみ利用できます。

//Java
package com.fujitsu.ObjectDirector.PortableServer;
public class POAdisconnect
{
    static public void setDisconnect( POAdisconnect disconnect )
        throws org.omg.CORBA.BAD_OPERATION {
    }
    static public void resetDisconnect( POAdisconnect disconnect )
        throws org.omg.CORBA.BAD_OPERATION {
    }
    static public void resetDisconnect()
        throws org.omg.CORBA.BAD_OPERATION {
    }
    public boolean release_instance(
        org.omg.PortableServer.POA     poa,
        org.omg.PortableServer.Servant servant,
        byte[]                          oid ) {
    }
}

3.18.1.1 com.fujitsu.ObjectDirector.PortableServer.POAdisconnect.setDisconnect()

名前

  com.fujitsu.ObjectDirector.PortableServer.POAdisconnect.setDisconnect

形式

  public static void setDisconnect(
      com.fujitsu.ObjectDirector.PortableServer.POAdisconnect disconnect );

機能説明

  クライアントアプリケーションが終了したときに、インスタンス解放を行うクラスのインスタンスを登録します。インスタンス解放を行うクラスは、このクラスを継承して作成します。

パラメタ

  disconnect

  登録するクラスのインスタンス。

復帰値

  正常終了した場合は、ありません。
  異常終了した場合は、以下の例外が発生します。

  org.omg.CORBA.BAD_PARAM

  パラメタにnullが指定されています。
  登録が2回以上行われました。

  org.omg.CORBA.SystemException

  その他の要因。

  システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

3.18.1.2 com.fujitsu.ObjectDirector.PortableServer.POAdisconnect.resetDisconnect()

名前

  com.fujitsu.ObjectDirector.PortableServer.POAdisconnect.resetDisconnect

形式

  (1) public static void resetDisconnect();
  (2) public static void resetDisconnect(
          com.fujitsu.ObjectDirector.PortableServer.POAdisconnect disconnect );

機能説明

(1)すでに登録済のインスタンス解放処理クラスのインスタンスを削除します。このメソッド以前に、インスタンスが登録されていない場合、このメソッドは失敗します。

(2)すでに登録済のインスタンス解放処理クラスのインスタンスを、パラメタで指定されたインスタンスと置き換えます。

パラメタにnullを指定した場合や、このメソッド以前に、インスタンスが登録されていない場合、このメソッドは失敗します。

パラメタ

(1)なし

(2)

  disconnect

  変更するクラスのインスタンス。

復帰値

  正常終了した場合は、ありません。
  異常終了した場合は、以下の例外が発生します。

  org.omg.CORBA.BAD_PARAM

  このメソッドの発行前に、インスタンスが登録されていません。
  (2)においてパラメタにnullが指定されています。

  org.omg.CORBA.SystemException

  その他の要因。

  システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

3.18.1.3 com.fujitsu.ObjectDirector.PortableServer.POAdisconnect.release_instance()

名前

  com.fujitsu.ObjectDirector.PortableServer.POAdisconnect.release_instance

形式

  public boolean release_instance(
      org.omg.PortableServer.POA     poa,
      org.omg.PortableServer.Servant servant,
      byte[]                          oid );

機能説明

  クライアントとのコネクションが切断された場合に呼び出されます。インスタンス解放処理を行う場合は、当クラスを継承したユーザ定義クラスを用意し、本メソッドをオーバライドします。本メソッドによって通知された、Servantのインスタンス、およびオブジェクトIDを元にインスタンスが必要か否かを判断し、true(解放する)またはfalse(解放しない)を返します。
  スーパクラスのrelease_instance()メソッドは常にfalse(インスタンスを解放しない)を返します。

パラメタ

  poa

  ServantのPOA。

  servant

  Servantのインスタンス。

  oid

  ServantのオブジェクトID。

復帰値

  false(デフォルト値): インスタンスを解放しません。