bea ホーム | 製品 | dev2dev | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > Tuxedo > Tuxedo CORBA ノーティフィケーション・サービス > CORBA ノーティフィケーション・サービス API のリファレンス |
Tuxedo CORBA ノーティフィケーション・サービス
|
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 ページ「サブスクリプションの作成時に使用するパラメータ」を参照してください。
例外
Tobj_Events::SUB_INVALID_FILTER_EXPRESSION
Tobj_Events::SUB_UNSUPPORTED_QOS_VALUE
Tobj_Events::SUB_DOMAIN_BEGINS_WITH_SYSEV
注記 例外および対応するマイナー・コードの詳細については、第 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
);
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |