bea ホーム | 製品 | dev2dev | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > Tuxedo > Tuxedo CORBA プログラミング・リファレンス > TP フレームワーク |
Tuxedo CORBA プログラミング・リファレンス
|
概要
サーバントを作成して C++ オブジェクトをインスタンス化します。
C++ バインディング
class Server {
public:
Tobj_Servant create_servant(const char* interfaceName);
};
引数
例外
Server::create_servant() で例外がスローされた場合、TP フレームワークが例外をキャッチします。活性化は失敗します。CORBA::OBJECT_NOT_EXIST() 例外がクライアントに返されます。また、エラー・メッセージが、次のように例外型ごとにユーザ・ログ (ULOG) ファイルに書き込まれます。
説明
create_servant メソッドは、要求がサーバに送信され、その要求を満たすための利用可能なサーバントがない場合に、TP フレームワークによって呼び出されます。TP フレームワークは、作成するサーバントのインターフェイス名を指定して create_servant メソッドを呼び出します。サーバ・アプリケーションでは、適切な C++ オブジェクトをインスタンス化して、そのオブジェクトを指すポインタを返します。通常、このメソッドは、インターフェイス名の switch 文を格納しており、インターフェイス名に従って新しいオブジェクトを作成します。
Caution: サーバ・アプリケーションでは、CORBA オブジェクトが活性化されるたびにこのメソッドが呼び出されることを前提にしてはなりません。また、サーバ・アプリケーションでは、CORBA オブジェクトのサーバント・クラスのコンストラクタまたはデストラクタで、CORBA オブジェクトの状態を処理してはなりません。TP フレームワークが活性化時にサーバントを再利用する場合や、非活性化時にサーバントを破棄しない場合が考えられるからです。
戻り値
注記 このリリースでは、ObjectId の長さに関する制約がなくなりました。
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |