bea ホーム | 製品 | dev2dev | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > Tuxedo > Tuxedo CORBA プログラミング・リファレンス > CORBA ブートストラップ処理のプログラミング・リファレンス |
Tuxedo CORBA プログラミング・リファレンス
|
概要
Bootstrap オブジェクトのコンストラクタです。
C++ マッピング
Tobj_Bootstrap(CORBA::ORB_ptr orb, const char* address);
throws Tobj::BAD_PARAM
org.omg.CORBA.SystemException;
パラメータ
BEA Tuxedo CORBA でサポートされるリモート・クライアントの説明については、「サポートされている BEA リモート・クライアントの種類」という節を参照してください。
リモート・クライアントの場合、address では、クライアント・アプリケーションが BEA Tuxedo ドメインにアクセスするために使用する IIOP リスナ/ハンドラのネットワーク・アドレスを指定します。
アドレスは、次のいずれかの形式で指定できます。
“//hostname:port_number”
“//#.#.#.#:port_number”
“corbaloc://hostname:port_number”
“corbalocs://hostname:port_number”
最初の形式の場合、ドメインではローカルの名前解決機能 (通常は DNS) を使用して hostname のアドレスが検索されます。ホスト名はリモート・マシンでなければならず、ローカルの名前解決機能では hostname がそのリモート・マシンのアドレスに明確に解決されなければなりません。
注記 hostname は、先頭を文字で始める必要があります。
2 番目の形式の場合、#.#.#.# にはドット区切りの 10 進数を指定します。ドット区切りの 10 進数形式では、それぞれの # に 0 〜 255 の数字を指定します。このドット区切りの 10 進数は、リモート・マシンの IP アドレスを表します。
最初と 2 番目の両方の形式で、port_number ではドメイン・プロセスが要求をリッスンする TCP ポート番号を指定します。port_number は、0 〜 65535 の数字でなければなりません。
TCP/IP アドレスは 1 つまたは複数を指定できます。複数のアドレスは、カンマ区切りのリストを使用して指定します。たとえば、次のように入力します。
複数のアドレスを指定すると、BEA Tuxedo ソフトウェアでは接続が確立されるまで左から右の順序でアドレスが試されます。接続が試行されているときにアドレスの構文エラーが検出されると、BAD_PARAM 例外が直ちに呼び出し側に返され、BEA Tuxedo ソフトウェアによって接続の試行がアボートされます。たとえば、上記のカンマ区切りリストの最初のアドレスが //m1.3050 である場合は、構文エラーが検出され、接続の試行がアボートされます。BEA Tuxedo ソフトウェアがアドレス・リストの最後まで達しても有効なアドレスで接続を試行できない場合、つまりリストのどのアドレスにも接続を確立できない場合は、INVALID_DOMAIN 例外が呼び出し側に返されます。INVALID_DOMAIN 以外の例外が生成された場合、その例外は呼び出し側に直ちに返されます。
BEA Tuxedo では、ランダムなアドレスの選択もサポートされています。ランダムなアドレスの選択を使用する場合は、アドレス・リストの任意のメンバをかっこで囲まれたパイプ区切り (|) のネットワーク・アドレス・グループとして指定します。たとえば、次のように入力します。
この形式を使用すると、BEA Tuxedo システムではかっこで囲まれたアドレスのいずれか (//m1.acme:3050 または //m2.acme:3050) がランダムに選択されます。INVALID_DOMAIN 以外の例外が生成された場合、その例外は呼び出し側に直ちに返されます。選択したアドレスで接続を確立できない場合は、かっこの後にある次の要素で接続が試行されます。接続を確立できないうちに文字列の最後に達してしまった場合は、INVALID_DOMAIN 例外が呼び出し側にスローされます。
注記 次の形式でアドレス・リストを指定した場合、
(//m1.acme:3050||//m2.acme:3050),//r1.acme:7000
パイプ区切りリスト内のヌル・アドレスは無効と判断されます。BEA Tuxedo ソフトウェアで無効なアドレスがランダムに選択された場合は、BAD_PARAM 例外が呼び出し側に返され、BEA Tuxedo ソフトウェアによって接続の試行がアボートされます。
アドレス文字列は、TOBJADDR 環境変数または Tobj_Bootstrap コンストラクタのアドレス・パラメータで指定できます。
注記 C++ アプリケーションでは TOBJADDR は環境変数であり、Java アプリケーションの場合はプロパティ、Java アプレットの場合は HTML パラメータです。
3 番目と 4 番目の形式は Uniform Resource Locator (URL) アドレス形式と呼ばれ、BEA WebLogic Enterprise バージョン 5.1 で導入されました。ヌル・スキーマ URL アドレス形式 (//hostname:port_number) の場合と同じように、URL アドレス形式を使用して IIOP リスナ/ハンドラの位置を指定します。ただし、corbaloc URL アドレス形式を使用する場合、IIOP リスナ/ハンドラへのクライアント・アプリケーションの初期接続はプリンシパル (クライアント) の ID が認証されるまで、またはユーザが最初のオペレーションを開始するまで遅延されます。corbalocs URL アドレス形式を使用する場合でも corbaloc と同じ接続の遅延がありますが、それに加えて、クライアント・アプリケーションがセキュア・ソケット・レイヤ (SSL) プロトコルを使用して ISL/ISH との初期接続を行います。表 4-4 は、2 つの URL アドレス形式の違いを示しています。
これらの URL アドレス形式は、インターオペラブル・ネーミング・サービスの一部として OMG によって採用されたオブジェクト URL の定義のサブセットです。BEA Tuxedo ソフトウェアでは、BEA WebLogic Enterprise 4.2 で追加されたランダマイズ機能だけでなく、セキュア HTTP の URL に基づいてモデル化される安全な形式をサポートするようにも、OMG 提案のインターオペラブル・ネーミング・サービスで規定された URL 形式が拡張されます。
corbaloc および corbalocs URL スキーマは、TCP/IP 中心の環境と DNS 中心の環境の両方で簡単に操作される位置を提供します。これらの URL スキーマでは、DNS 形式の hostname または IP アドレスと port_number を指定します。次に例を示します。
corbaloc://curly:1024,larry:1022,joe:1999
corbalocs://host1:1024,{host2:1022|host3:1999}
corbalocs://curly:1024,corbaloc://larry:1111,
corbalocs://ctxobj:3434,mthd:3434,corbaloc://force:1111
上の例で、パーサが URL corbaloc://force:1111 に達した場合は、安全な接続が試行されなかったかのようにパーサの内部状態がリセットされ、保護なしの接続の試行が開始されます。
注記 ヌル・スキーマ URL アドレス (//hostname:port_number) と corbaloc および corbalocs URL アドレスは一緒に使用しないでください。
注記 Netscape の埋め込み型 Java ORB および JavaSoft JDK ORB で使用するように提供される Bootstrap オブジェクトでは、corbaloc および corbalocs URL はサポートされていません。
注記 corbaloc および corbalocs URL アドレス形式の使い方の詳細については、『BEA Tuxedo CORBA アプリケーションのセキュリティ機能』を参照してください。
注記 Bootstrap コンストラクタまたは TOBJADDR で指定するネットワーク・アドレスは、サーバ・アプリケーションの UBBCONFIG ファイルのネットワーク・アドレスと (大文字と小文字の区別を含めて) 正確に同じでなければなりません。アドレスが一致しない場合、Bootstrap コンストラクタの呼び出しは失敗し、見たところ関係のなさそうな次のエラー・メッセージが表示されます。
ERROR: Unofficial connection from client at
<tcp/ip address>/<port-number>
たとえば、ネットワーク・アドレスがサーバ・アプリケーションの UBBCONFIG ファイルの ISL コマンド行オプション文字列で (ヌル URL アドレス形式を使用して) //TRIXIE:3500 として指定されている場合、Bootstrap コンストラクタまたは TOBJADDR で //192.12.4.6:3500 または //trixie:3500 を指定すると接続の試行は失敗します。UNIX システムで大文字、小文字の区別を調べるには、ホスト・システムで uname -n コマンドを使用します。Windows 2000 システムで正確な大文字と小文字の区別を調べるには、コントロール・パネルでホスト・システムのネットワーク設定を確認します。
注記 前の注記のエラーは、URL アドレス形式が使用される場合は遅延されます。つまり、ISL/ISH への接続が遅延させるので Bootstrap オブジェクトの作成時にそのエラーは発生しません。
ネイティブ・クライアントの場合、Tobj_Bootstrap コンストラクタの address パラメータは常に (ヌル・ポインタではなく) 空の文字列でなければなりません。ネイティブ・クライアントは、TUXCONFIG 環境変数で指定されたアプリケーションに接続します。アドレスが空でない場合は、コンストラクタによって CORBA::BAD_PARAM が生成されます。
Bootstrap オブジェクトにアクセスする必要がある場合、サーバでは TP.bootstrap() を呼び出して TP フレームワークを使用してそのオブジェクト・リファレンスを取得しなければなりません。Bootstrap オブジェクトの新しいインスタンスを作成することは避ける必要があります。
例外
説明
Bootstrap オブジェクトを作成する C++ メンバ関数 (または Java メソッド)。
戻り値
新しく作成された Bootstrap オブジェクトへのポインタ。
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |