bea ホーム | 製品 | dev2dev | support | askBEA
BEA Logo Tuxedo
 ドキュメントのダウンロード   サイトマップ   用語集 
検索
0

Tuxedo CORBA プログラミング・リファレンス

 Previous Next Contents View as PDF  

start_persistent_userid

概要

オブジェクトを活性化し、ORB および POA を適切な状態に設定し、活性化したオブジェクトへのオブジェクト・リファレンスを返します。

IDL

Object start_persistent_userid(
portableServer::Servant a_servant,
in CORBA::RepositoryId rep_id,
in string stroid)
raises ( ServantAlreadyActive, ObjectAlreadyActive );

C++ バインディング

CORBA::Object_ptr start_persistent_userid (
PortableServer::Servant servant,
const char* rep_id,
const char* stroid);

Java バインディング

org.omg.CORBA.Object start_persistent_userid( 
org.omg.PortableServer.Servant servant,
java.lang.String rep_id,
java.lang.String stroid);

引数

サーバント

インターフェイスの C++ インプリメンテーション・クラスのインスタンス。

rep_id

インターフェイスのリポジトリ ID。

stroid

作成されているオブジェクト・リファレンス内で設定される、ユーザ指定の ObjectId の文字列化されたバージョン。stroid は、アプリケーション固有のデータを保持しており、ORB 側からはオペークです。

例外

ServantAlreadyActive

サーバントは既にコールバックに使用されています。サーバントは、ObjectId が 1 つのコールバックのみに使用できます。複数の ObjectId があるオブジェクトに対するコールバックを受信するには、複数のサーバントを作成して、個別に活性化する必要があります。同じサーバントを再利用できるのは、stop_object オペレーションがシステムに対して、サーバントを元の ObjectId について使用することを止めるように指示する場合のみです。

ObjectAlreadyActive

文字列化された ObjectId は既にコールバックに使用されています。ある特定の ObjectId には、1 つのサーバントしか関連付けられません。別のサーバントに変更する場合は、まず現在使用しているサーバントで stop_object を呼び出す必要があります。

CORBA::BAD_PARAM

リポジトリ ID が NULL 文字列であったか、サーバントが NULL ポインタでした。

CORBA::IMP_LIMIT

この例外のほかのシステム上の理由に加えて、この状況に特有の理由は、共同クライアント/サーバがポート番号付きでは初期化されておらず、したがって永続オブジェクト・リファレンスが作成できないことです。

説明

このオペレーションは、次の作業を実行します。

戻り値

CORBA::Object_ptr

文字列化された ObjectId stroid と、ユーザが指定した rep_id で作成されたオブジェクト・リファレンス。オブジェクト・リファレンスは、特定のオブジェクト用に定義された _narrow() オペレーションを呼び出すことによって、特定のオブジェクト型に変換する必要があります。変換が終了したときにオブジェクトを解放するのは、呼び出し側の役割です。

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy