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

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

 Previous Next Contents View as PDF  

Tobj::Factoryfinder::list_factories

概要

現在 FactoryFinder で登録されているファクトリ・オブジェクトのリストを取得します。

C++ マッピング

virtual FactoryListing * list_factories() = 0;

Java マッピング

public com.beasys.Tobj.FactoryComponent[] list_factories()
throws
com.beasys.Tobj.CannotProceed,
com.beasys.Tobj.RegistrarNotAvailable;

例外

FactoryFinder または NameManager が、ファクトリ・オブジェクトのリファレンスを見つけようとしているときに内部エラーに遭遇したことを示します。

エラー情報は、ユーザ・ログに書き込まれます。

FactoryFinder が NameManager と通信できなかったことを示します。

エラー情報は、ユーザ・ログに書き込まれます。

説明

アプリケーションによって list_factories メソッドが呼び出され、FactoryFinder で現在登録されているファクトリ・オブジェクトのリストが取得されます。メソッドは、ファクトリの登録に使用されるキーと、ファクトリ・オブジェクトへのリファレンスの両方を返します。

戻り値

Tobj::FactoryComponent のアンバウンディッド・シーケンスです。シーケンス中の Tobj::FactoryComponent の各オカレンスには、登録されたファクトリ・オブジェクトへのリファレンス、およびそのファクトリ・オブジェクトの登録に使用された CosLifeCycle::Key が含まれます。

オペレーションが例外を生成した場合には、戻り値は無効であり、呼び出し側によって解放される必要はありません。

 


オートメーションのメソッド

ここでは、DITobj_FactoryFinder オートメーション・メソッドについて説明します。

DIMIDL マッピング

HRESULT find_one_factory(
[in] VARIANT factory_key,
[in,out,optional] VARIANT* exceptionInfo,
[out,retval] IDispatch** returnValue);

オートメーション・マッピング

Function find_one_factory(factory_key, [exceptionInfo]) As Object

factory_key

このパラメータは、ファクトリ・オブジェクト・リファレンスを一意に識別する DICosNaming_NameComponents (<id, kind> 値のペア) のセーフ配列を含みます。

exceptionInfo

エラーが発生した場合にアプリケーションが追加の例外データを取得できるようにするオプションの入力引数。

NoFactory

この例外は、入力された factory_key に対応するアプリケーション・ファクトリ・オブジェクト・リファレンスを FactoryFinder が見つけられない場合に発生します。

CannotProceed

この例外が発生するのは、FactoryFinder または CORBA サービス・ネーミング・サービスが検索中に内部エラーに遭遇した場合です。エラーは、ユーザ・ログ (ULOG) に書き込まれます。この例外が発生した場合は、すぐに作業担当者に通知されます。内部エラーの重要度によっては、FactoryFinder または CORBA サービス・ネーミング・サービスが実行されていたサーバが、終了していることがあります。FactoryFinder サービスが終了した場合は、新しい FactoryFinder サービスを開始します。CORBA サービス・ネーミング・サービスの 1 つが終了しており、別の CORBA サービス・ネーミング・サービス は実行中である場合は、新規の CORBA サービス・ネーミング・サービス を開始します。ネーミング・サービス用のサーバが実行されていない場合は、アプリケーションを再起動します。

RegistrarNotAvailable

この例外は、FactoryFinder が CORBA サービス・ネーミング・サービスのオブジェクトを見つけられない場合に発生します。この例外が発生した場合は、すぐに作業担当者に通知されます。ネーミング・サービス用のサーバが実行されていない場合は、アプリケーションを再起動します。

このメンバ関数は、キーが入力 factory_key に一致するアプリケーション・ファクトリ・オブジェクト・リファレンスを 1 つ返すように、FactoryFinder に指示します。これを実現するには、メンバ関数が等価性の照合を行う必要があります。つまり、入力 factory_key のすべての NameComponent <id, kind> ペアが、アプリケーション・ファクトリのキーの <id, kind> ペアと完全に一致していなければなりません。入力された factory_key を含むファクトリ・キーが複数存在する場合、FactoryFinder は内部で定義されたロード・バランシング・スキーマに基づき、1 つを選択します。同じ idfind_one_factory を複数回呼び出すと、さまざまなオブジェクト・リファレンスが返ることがあります。

戻り値

アプリケーション・ファクトリのインターフェイス・ポインタへのリファレンスを返します。

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy