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

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

2.20.1.1 ISOD::LBO::create_LBG()

名前

ISOD::LBO::create_LBG

形式

#include <orb_cplus.h>
#include <OM_LBOcpp.h>
ISOD::LBG_ptr  ISOD::LBO::create_LBG(
      CosNaming::NamingContext_ptr  nc,
      CosNaming::Name  &n,
      ISOD::LBO::LoadBalanceType  loadbalancetype,
      CORBA::Object_ptr  defaultobjectref,
      CORBA::Environment  &env);

機能説明

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

パラメタ

nc

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

n

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

loadbalancetype

roundrobinを指定します。

defaultobjref

ロードバランス機能が動作していない場合に、ネーミングサービスが返すオブジェクトリファレンス(デフォルトオブジェクトリファレンス)。
nullを指定した場合、かつロードバランス機能が動作していない場合は、ネーミングサービスからはオブジェクトリファレンスが返されません。

このオブジェクトリファレンスは、ISOD::LBG::bind()およびISOD::LBG::unbind()では、登録および削除できません。
指定した場合は、ロードバランスオブジェクトグループ作成後に、ISOD::LBG::rebind_default()オペレーションを使用して変更することができます。指定するオブジェクトリファレンスのインタフェースリポジトリIDは、OMG IDL形式(“IDL:”で始まる形式)を使用してください。

env

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

復帰値

正常終了した場合は、生成したロードバランスオブジェクトグループのオブジェクトリファレンスが返され、envのexceptionメンバにNULLオブジェクトリファレンスが設定されます。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクト、またはUserExceptionオブジェクトのオブジェクトリファレンスが設定されます。

ユーザ例外の場合は、以下の例外が発生します。

ISOD::LBO::NotFound

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

ISOD::LBO::CannotProceed

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

ISOD::LBO::InvalidName

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

ISOD::LBO::AlreadyExist

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

ISOD::LBO::InvalidType

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

ISOD::LBO::BadObject

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

ISOD::LBO::OperationBusy

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

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

2.20.1.2 ISOD::LBO::resolve_LBG()

名前

ISOD::LBO::resolve_LBG

形式

#include <orb_cplus.h>
#include <OM_LBOcpp.h>
ISOD::LBG_ptr  ISOD::LBO::resolve_LBG(
       CosNaming::NamingContext_ptr  nc,
       CosNaming::_Name  &n,
       CORBA::Environment  &env);

機能説明

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

パラメタ

nc

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

n

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

env

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

復帰値

正常終了した場合は、検出したロードバランスオブジェクトグループのオブジェクトリファレンスが返され、envのexceptionメンバにNULLオブジェクトリファレンスが設定されます。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクト、またはUserExceptionオブジェクトのオブジェクトリファレンスが設定されます。

ユーザ例外の場合は、以下の例外が発生します。

ISOD::LBO::NotFound

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

ISOD::LBO::CannotProceed

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

ISOD::LBO::InvalidName

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

ISOD::LBO::OperationBusy

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

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

2.20.1.3 ISOD::LBO::delete_LBG()

名前

ISOD::LBO::delete_LBG

形式

#include <orb_cplus.h>
#include <OM_LBOcpp.h>
CORBA::Object_ptr  ISOD::LBO::delete_LBG(
      CosNaming::NamingContext_ptr  nc,
      CosNaming::Name  &n,
      CORBA::Environment  &env);

機能説明

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

パラメタ

nc

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

n

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

env

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

復帰値

正常終了した場合は、デフォルトオブジェクトのオブジェクトリファレンスが返され、envのexceptionメンバにNULLオブジェクトリファレンスが設定されます。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクト、またはUserExceptionオブジェクトのオブジェクトリファレンスが設定されます。

ユーザ例外の場合は、以下の例外が発生します。

ISOD::LBO::NotFound

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

ISOD::LBO::CannotProceed

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

ISOD::LBO::InvalidName

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

ISOD::LBO::NotEmpty

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

ISOD::LBO::OperationBusy

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

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

2.20.1.4 ISOD::LBO::list_LBG()

名前

ISOD::LBO::list_LBG

形式

#include <orb_cplus.h>
#include <OM_LBOcpp.h>
void  ISOD::LBO::list_LBG(
      CosNaming::NamingContext_ptr  nc,
      ISOD::LBO::LBGList  *&LBGlist,
      CORBA::Environment  &env);

機能説明

本関数は、ロードバランスオブジェクトグループのリストを返します。
ncで指定されたネーミングコンテキスト配下のロードバランスオブジェクトグループのリストを返します。本関数では、ロードバランスオブジェクトグループの名前とロードバランスタイプの情報を持つ構造体(BindingObjectGroup)のシーケンスを返します。
本関数で獲得できるロードバランスオブジェクトグループの数の上限は、256個です。

パラメタ

nc

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

LBGlist

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

env

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

復帰値

正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定されます。
異常終了した場合は、envのexceptionメンバにSystemExceptionが設定されます。設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

注意事項

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

2.20.1.5 ISOD::LBO::notify_down()

名前

ISOD::LBO::notify_down

形式

#include <orb_cplus.h>
#include <OM_LBOcpp.h>
void  ISOD::LBO::notify_down(
      CORBA::string  HostName,
      CORBA::Environment  &env);

機能説明

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

パラメタ

HostName

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

env

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

復帰値

正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定されます。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクト、またはUserExceptionオブジェクトのオブジェクトリファレンスが設定されます。

ユーザ例外の場合は、以下の例外が発生します。

ISOD::LBO::InvalidArgument

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

ISOD::LBO::CannotProceed2

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

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

2.20.1.6 ISOD::LBO::notify_recover()

名前

ISOD::LBO::notify_recover

形式

#include <orb_cplus.h>
#include <OM_LBOcpp.h>
void  ISOD::LBO::notify_recover(
      CORBA::string  HostName,
      CORBA::Environment  &env);

機能説明

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

パラメタ

HostName

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

env

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

復帰値

正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定されます。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクト、またはUserExceptionオブジェクトのオブジェクトリファレンスが設定されます。

ユーザ例外の場合は、以下の例外が発生します。

ISOD::LBO::InvalidArgument

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

ISOD::LBO::CannotProceed2

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

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