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

1.16.1 ロードバランスオプションインタフェース

1.16.1.1 ISOD_LBO_create_LBG()

名前

  ISOD_LBO_create_LBG

形式

  #include <orb.h>
  #include <OM_LBO.h>
  ISOD_LBG  ISOD_LBO_create_LBG(
        ISOD_LBO  lbo,
        CosNaming_NamingContext  nc,
        CosNaming_Name  *n,
        ISOD_LBO_LoadBalanceType  loadbalancetype,
        CORBA_Object  defaultobjectref,
        CORBA_Environment  *env );

機能説明

  本関数は、ロードバランスオブジェクトグループを作成し、ネーミングサービスに登録します。ncで指定されたネーミングコンテキスト配下にnで指定された名前で登録します。ロードバランスオブジェクトグループの生成に成功した場合、生成したロードバランスオブジェクトグループのオブジェクトリファレンスを返します。
  本関数はオブジェクトリファレンスを格納する領域を獲得するため、この領域が不要になった時点で、CORBA_Object_release()を使用して領域を解放する必要があります。

パラメタ

  lbo

  ロードバランスオブジェクトのオブジェクトリファレンス。

  nc

  ネーミングコンテキストオブジェクト。

  n

  作成するロードバランスオブジェクトグループ名。

  loadbalancetype

  ISOD_LBO_roundrobinを指定します。

  defaultobjref

  ロードバランス機能が動作していない場合に、ネーミングサービスが返すオブジェクトリファレンス(デフォルトオブジェクトリファレンス)。
  nullを指定した場合、かつロードバランス機能が動作していない場合は、ネーミングサービスからはオブジェクトリファレンスが返されません。
  このオブジェクトリファレンスは、ISOD_LBG_bind()およびISOD_LBG_unbind()では、登録および削除できません。
  デフォルトオブジェクトリファレンスは、ロードバランスオブジェクトグループ作成後に、ISOD_LBG_rebind_default()を使用して変更することができます。

  env

例外情報が格納される構造体。

復帰値

  正常終了した場合は、生成したロードバランスオブジェクトグループのオブジェクトリファレンスが返され、env構造体の_majorにCORBA_NO_EXCEPTIONが設定されます。
  異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONまたはCORBA_USER_EXCEPTIONが設定され、env構造体の_idに詳細情報が設定されます。
  ユーザ例外の場合は、以下の詳細情報が設定されます。

  IDL:ISOD/LBO/NotFound:1.0

  nで指定されたネーミングコンテキストが見つかりません。

  IDL:ISOD/LBO/CannotProceed:1.0

  ncで指定されたネーミングコンテキストが存在しません。

  IDL:ISOD/LBO/InvalidName:1.0

  名前の指定に誤りがあります。

  IDL:ISOD/LBO/AlreadyExist:1.0

  指定された名前のバインディングがすでに存在します。

  IDL:ISOD/LBO/InvalidType:1.0

  ロードバランスタイプの指定に誤りがあります。

  IDL:ISOD/LBO/BadObject:1.0

  defaultobjectrefで指定されたオブジェクトが不当です。

  IDL:ISOD/LBO/OperationBusy:1.0

  同時処理可能な要求の上限に達しました。リトライしてください。

  システム例外の場合は、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

1.16.1.2 ISOD_LBO_resolve_LBG()

名前

  ISOD_LBO_resolve_LBG

形式

  #include <orb.h>
  #include <OM_LBO.h>
  ISOD_LBG  ISOD_LBO_resolve_LBG(
        ISOD_LBO  lbo,
        CosNaming_NamingContext nc,
        CosNaming_Name *n,
        CORBA_Environment *env );

機能説明

  本関数は、ロードバランスオブジェクトグループを検索します。ncで指定されるネーミングコンテキスト配下のnで指定された名前のロードバランスオブジェクトグループを検索します。
  ロードバランスオブジェクトグループの検索に成功した場合、検出したロードバランスオブジェクトグループのオブジェクトリファレンスを返します。
  本関数はオブジェクトリファレンスを格納する領域を獲得するため、この領域が不要になった時点で、CORBA_Object_release()を使用して領域を解放する必要があります。

パラメタ

  lbo

  ロードバランスオブジェクトのオブジェクトリファレンス。

  nc

  ネーミングコンテキストオブジェクト。

  n

  検索するロードバランスオブジェクトグループ名。

  env

  例外情報が格納される構造体。

復帰値

  正常終了した場合は、検出したロードバランスオブジェクトグループのオブジェクトリファレンスが返され、env構造体の_majorにCORBA_NO_EXCEPTIONが設定されます。
  異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONまたはCORBA_USER_EXCEPTIONが設定され、env構造体の_idに詳細情報が設定されます。
  ユーザ例外の場合は、以下の詳細情報が設定されます。

  IDL:ISOD/LBO/NotFound:1.0

  nで指定された名前が見つかりません。

  IDL:ISOD/LBO/CannotProceed:1.0

  ncで指定されたネーミングコンテキストが存在しません。

  IDL:ISOD/LBO/InvalidName:1.0

  名前の指定に誤りがあります。

  IDL:ISOD/LBO/OperationBusy:1.0

  同時処理可能な要求の上限に達しました。リトライしてください。

  システム例外の場合は、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

1.16.1.3 ISOD_LBO_delete_LBG()

名前

  ISOD_LBO_delete_LBG

形式

  #include <orb.h
  #include <OM_LBO.h>
  CORBA_Object   ISOD_LBO_delete_LBG(
        ISOD_LBO  lbo,
        CosNaming_NamingContext nc,
        CosNaming_Name *n,
        CORBA_Environment *env );

機能説明

  本関数は、ロードバランスオブジェクトグループをネーミングサービスから削除します。ncで指定されたネーミングコンテキスト配下のnで指定された名前のロードバランスオブジェクトグループが削除されます。
  デフォルトオブジェクトが設定されていた場合に、デフォルトオブジェクトのオブジェクトリファレンスを返します。削除対象のロードバランスオブジェクトグループに、デフォルトオブジェクト以外のオブジェクトが登録されている場合は、例外となります。
  本関数はオブジェクトリファレンスを格納する領域を獲得するため、この領域が不要になった時点で、CORBA_Object_release()を使用して領域を解放する必要があります。

パラメタ

  lbo

  ロードバランスオブジェクトのオブジェクトリファレンス。

  nc

  ネーミングコンテキストオブジェクト。

  n

  削除するロードバランスオブジェクトグループ名。

  env

  例外情報が格納される構造体。

復帰値

  正常終了した場合は、デフォルトオブジェクトのオブジェクトリファレンスが返され、env構造体の_majorにCORBA_NO_EXCEPTIONが設定されます。
  異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONまたはCORBA_USER_EXCEPTIONが設定され、env構造体の_idに詳細情報が設定されます。
  ユーザ例外の場合は、以下の詳細情報が設定されます。

  IDL:ISOD/LBO/NotFound:1.0

  nで指定された名前が見つかりません。

  IDL:ISOD/LBO/CannotProceed:1.0

  ncで指定されたネーミングコンテキストが存在しません。

  IDL:ISOD/LBO/InvalidName:1.0

  名前の指定に誤りがあります。

  IDL:ISOD/LBO/NotEmpty:1.0

  ロードバランスオブジェクトグループにデフォルトオブジェクト以外のオブジェクトが1つ以上登録されています。

  IDL:ISOD/LBO/OperationBusy:1.0

  同時処理可能な要求の上限に達しました。リトライしてください。

  システム例外の場合は、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

1.16.1.4 ISOD_LBO_list_LBG()

名前

  ISOD_LBO_list_LBG

形式

  #include <orb.h>
  #include <OM_LBO.h>
  void  ISOD_LBO_list_LBG(
        ISOD_LBO  lbo,
        CosNaming_NamingContext nc,
        ISOD_LBO_LBGList **LBGlist,
        CORBA_Environment *env );

機能説明

  本関数は、ロードバランスオブジェクトグループのリストを返します。
  ncで指定されたネーミングコンテキスト配下のロードバランスオブジェクトグループのリストを返します。本関数では、ロードバランスオブジェクトグループの名前とロードバランスタイプの情報を持つ構造体(BindingObjectGroup)のシーケンスを返します。
  本関数で獲得できるロードバランスオブジェクトグループの数の上限は、256個です。
  本関数はロードバランスオブジェクトグループのリストを格納する領域を獲得するため、この領域が不要になった時点で、CORBA_free()を使用して領域を解放する必要があります。

パラメタ

  lbo

  ロードバランスオブジェクトのオブジェクトリファレンス。

  nc

  ネーミングコンテキストオブジェクト。

  LBGlist

  ロードバランスオブジェクトグループのリストの設定領域。

  env

  例外情報が格納される構造体。

復帰値

  正常終了した場合は、env構造体の_majorにCORBA_NO_EXCEPTIONが設定されます。
  異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONが設定され、env構造体の_idと_minorに詳細情報が設定されます。_idと_minorの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

注意事項

  ロードバランスオブジェクトグループが257個以上登録されている場合は、すべてのオブジェクトグループの一覧を取得することができません。

1.16.1.5 ISOD_LBO_notify_down()

名前

  ISOD_LBO_notify_down

形式

  #include <orb.h>
  #include <OM_LBO.h>
  void  ISOD_LBO_notify_down(
        ISOD_LBO  lbo,
        CORBA_string  HostName,
        CORBA_Environment  *env );

機能説明

  本関数は、ロードバランス機能にサーバがダウンしたことを通知します。
  本関数が呼び出されると、HostNameで指定されたアドレスのサーバのオブジェクトのオブジェクトリファレンスの返却を停止します。

パラメタ

  lbo

  ロードバランスオブジェクトのオブジェクトリファレンス。

  HostName

  ダウンしたサーバのホスト名またはIPアドレス。

  env

  例外情報が格納される構造体。

復帰値

  正常終了した場合は、env構造体の_majorにCORBA_NO_EXCEPTIONが設定されます。
  異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONまたはCORBA_USER_EXCEPTIONが設定され、env構造体の_idに詳細情報が設定されます。
  ユーザ例外の場合は、以下の詳細情報が設定されます。

  IDL:ISOD/LBO/InvalidArgument:1.0

  HostNameの指定に誤りがあります。

  IDL:ISOD/LBO/CannotProceed2:1.0

  ロードバランス機能のDBの処理で異常が発生しました。

  システム例外の場合は、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

1.16.1.6 ISOD_LBO_notify_recover()

名前

  ISOD_LBO_notify_recover

形式

  #include <orb.h>
  #include <OM_LBO.h>
  void  ISOD_LBO_notify_recover(
        ISOD_LBO  lbo,
        CORBA_string   HostName,
        CORBA_Environment  *env );

機能説明

  本関数は、ロードバランス機能にサーバが起動または復旧したしたことを通知します。
  本関数が呼び出されると、HostNameで指定されたアドレスのサーバのオブジェクトのオブジェクトリファレンスの返却を開始します。

パラメタ

  lbo

  ロードバランスオブジェクトのオブジェクトリファレンス。

  HostName

  復旧したサーバのホスト名またはIPアドレス。

  env

  例外情報が格納される構造体。

復帰値

  正常終了した場合は、env構造体の_majorにCORBA_NO_EXCEPTIONが設定されます。
  異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONまたはCORBA_USER_EXCEPTIONが設定され、env構造体の_idに詳細情報が設定されます。
  ユーザ例外の場合は、以下の詳細情報が設定されます。

  IDL:ISOD/LBO/InvalidArgument:1.0

  HostNameの指定に誤りがあります。

  IDL:ISOD/LBO/CannotProceed2:1.0

  ロードバランス機能のDBの処理で異常が発生しました。

  システム例外の場合は、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。