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

Tuxedo CORBA ノーティフィケーション・サービス

 Previous Next Contents Index View as PDF  

Channel::subscribe

CORBA IDL

SubscriptionID subscribe (
in string subscription_name,
in RegularExpression domain,
in RegularExpression type,
in FilterExpression data_filter,
// フィルタ式の長さは 1 で、名前は TRANSIENT_SUBSCRIPTION
// または PERSISTENT_SUBSCRIPTION でなければならない
in CosNotification::QoSProperties qos,
in CosNotifyComm::StructuredPushConsumer push_consumer
);

パラメータ

このオペレーションでサポートされているパラメータの説明については、第 2 章の 14 ページ「サブスクリプションの作成時に使用するパラメータ」を参照してください。

例外

CORBA::BAD_PARAM

次のいずれかの問題を示します。
Tobj_Events::SUB_INVALID_FILTER_EXPRESSION
Tobj_Events::SUB_UNSUPPORTED_QOS_VALUE

CORBA::IMP_LIMIT

次のいずれかの問題を示します。
Tobj_Events::SUB_DOMAIN_BEGINS_WITH_SYSEV

Tobj_Events::SUB_EMPTY_DOMAIN

Tobj_Events::SUB_EMPTY_TYPE

Tobj_Events::SUB_DOMAIN_AND_TYPE_TOO_LONG

Tobj_Events::SUB_FILTER_TOO_LONG

Tobj_Events::SUB_NAME_TO_LONG

Tobj_Events::TRANSIENT_ONLY_CONFIGURATION

CORBA::INV_OBJREF

次の問題を示します。

Tobj_Events::SUB_NIL_CALLBACK_REF

注記 例外および対応するマイナー・コードの詳細については、第 2 章の 73 ページ「例外のマイナー・コード」を参照してください。

説明

このオペレーションを使用すると、イベントをサブスクライブできます。このオペレーションは、特定のイベントのサブスクリプションを作成するために、ノーティフィケーション・サービスのサブスクライバ・アプリケーションによって呼び出されます。サブスクリプション名、ドメイン名、型名、データ・フィルタ、サービスの品質、およびサブスクライバのコールバック・オブジェクトのオブジェクト・リファレンスが渡されます。コールバック・オブジェクトでは、CosNotifyComm::StructuredPushConsumer IDL インターフェイスがインプリメントされます。

注記 シャットダウンおよび再起動するサブスクライバについては、subscription_id を永続ストレージに書き込む必要があります。

データのフィルタ処理を利用するか、あるいは BEA Tuxedo システム・イベントまたは BEA Tuxedo アプリケーションでポストされたイベントをサブスクライブするには、第 2 章の 9 ページ「イベントの FML フィールド・テーブル・ファイルの作成」および第 2 章の 11 ページ「BEA Tuxedo アプリケーションとの相互運用性」を参照してください。

戻り値

一意のサブスクリプション識別子が返されます。このオペレーションの結果は即時には現れません。このオペレーションからの復帰とイベント配信の実際の開始の間には遅延があります。遅延期間の長さは、コンフィギュレーション次第ではかなり長くなります。この遅延期間に影響する要素の詳細については、第 7 章の 27 ページ「データベースの同期」を参照してください。

注記 1 度だけ起動およびシャットダウンされるノーティフィケーション・サービス・アプリケーションでは、subscription_id を使用してサブスクリプションが自動的にまたはシステム管理者によって取り消されているかどうかを確認できます。

注記 ここで紹介するコード例は全体の一部分です。完全なコード例については、第 3 章の 14 ページ「サブスクリプションの作成」を参照してください。

C++ コード例

subscription_id = channel->subscribe(
subscription_name,
"News", // ドメイン
“Sports” , // 型
"", // データ・フィルタなし
qos,
news_consumer.in()
);

Java コード例


"", // データ・フィルタなし
qos,
news_consumer_impl
);

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy