bea ホーム | 製品 | dev2dev | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > Tuxedo > Tuxedo CORBA ノーティフィケーション・サービス > CORBA ノーティフィケーション・サービス API のリファレンス |
Tuxedo CORBA ノーティフィケーション・サービス
|
CORBA IDL
Channel find_channel(
in ChannelID channel_id );
パラメータ
このリリースの BEA Tuxedo では、イベント・チャネルは 1 つだけです。したがって、ChannelID は Tobj_SimpleEvents::DEFAULT_CHANNEL (C++) または Tobj_SimpleEvents.DEFAULT_CHANNEL.Value (Java) に設定する必要があります。
例外
注記 例外および対応するマイナー・コードの詳細については、第 2 章の 73 ページ「例外のマイナー・コード」を参照してください。
説明
ポスト元アプリケーションとサブスクライバ・アプリケーションによって使用されます。このオペレーションを使用すると、イベント・チャネルを見つけて、ポスト元ではイベントをポストし、サブスクライバではイベントをサブスクライブおよびアンサブスクライブできます。
戻り値
デフォルト・イベント・チャネルのオブジェクト・リファレンスが返されます。
例
注記 ここで紹介するコード例は全体の一部分です。完全なコード例については、第 3 章の 3 ページ「イベント・チャネルの取得」を参照してください。
C++ コード例
channel_factory->find_channel(
Tobj_SimpleEvents::DEFAULT_CHANNEL);
Java コード例
channel_factory.find_channel(DEFAULT_CHANNEL.value);
CosNotification Service API
この節では、BEA Tuxedo CORBA ノーティフィケーション・サービスによってインプリメントされる CosNotification サービスで定義されるオペレーションについて説明します。それらのオペレーションは、オペレーション・セット全体のサブセットです。このサブセットは、BEA シンプル・イベント API の代わりとして使用できる機能的に完全な API です。
この API は、BEA シンプル・イベント API よりも複雑です。それには、2 つの理由があります。まず、CosNotification サービス API がより複雑になっています。次に、CosNotification サービス API の BEA Tuxedo インプリメンテーションでは、サポートされるオペレーションに制限が追加されます。このように複雑でも、性能または柔軟性の点で利点はないので、できる限りに BEA シンプル・イベント API を使用することをお勧めします。
CosNotification API は、可搬性を実現するため、できる限り標準の API を使用する必要がある場合のために用意されています。この API では、機能の点で、シンプル・イベント API を上回る利点は提供されません。この API を使用して開発されたアプリケーションは、ほぼ可搬性がありますが、完全ではありません。その理由は、完全な可搬性を実現できるほど CosNotification サービス API が十分にサポートされていないことです。たとえば、CORBA ベースのノーティフィケーション・サービスで使用するフィルタ処理の文法は COS Trader 文法に基づいています。BEA Tuxedo ではこの文法がサポートされていず、BEA Tuxedo EventBroker の文法に基づく別の文法がサポートされているので、フィルタ処理を必要とするアプリケーションは可搬になりません。同じことが QoS についても言えます。つまり、CosNotification サービス API では CORBA ベースのノーティフィケーション・サービスの標準のサービス品質がサポートされていず、別のサービス品質がサポートされています。
サポートされている CosNotification サービスのクラスの概要
図2-3 は、このリリースの BEA Tuxedo で (完全または部分的に) インプリメントされている CosNotification サービスのクラスとそれらの関係を示しています。
図 2-3 インプリメントされている CosNotification サービスのクラス
各クラスでサポートされているオペレーションについては、以下に要約があります。詳細については、第 2 章の 36 ページ「CosNotification サービスのクラスの詳しい説明」を参照してください。
このクラスは、イベント・ポスト元とサブスクライバ・アプリケーションによって使用されます。このクラスでは、イベントをポスト、サブスクライブ、およびアンサブスクライブするときにチャネル・ファクトリを取得するために使用される get_channel_factory オペレーションがサポートされています。
このクラスは、イベント・ポスト元とサブスクライバ・アプリケーションによって使用されます。このクラスでは、次の 3 つのオペレーションがサポートされています。
このクラスは、イベント・ポスト元アプリケーションによって使用されます。このクラスでは、obtain_notification_push_consumer オペレーションがサポートされています。ポスト元アプリケーションでは、このオペレーションを使用して、ノーティフィケーション・サービスにイベントをポストするために使用するプロキシ・プッシュ・コンシューマ・オブジェクトを作成します。
このクラスは、イベント・ポスト元アプリケーションによって使用されます。このクラスでは、次のオペレーションがサポートされています。
このクラスは、フィルタ・オブジェクトを作成するためにイベント・サブスクライバ・アプリケーションによって使用されます。このクラスでは、create_filter オペレーションがサポートされています。フィルタ・オブジェクトでは、ドメイン、型、およびフィルタ処理可能データを含めたすべてのデータのフィルタ処理が提供されます。
このクラスは、イベント・サブスクライバ・アプリケーションによって使用されます。このクラスでは、次のオペレーションがサポートされています。
このクラスは、イベント・サブスクライバ・アプリケーションによって使用されます。このクラスでは、次のオペレーションがサポートされています。
このクラスは、イベント・サブスクライバ・アプリケーションによって使用されます。このクラスでは、次のオペレーションがサポートされています。
このインターフェイスは、イベント・サブスクライバ・アプリケーションによってインプリメントされます。このインターフェイスでは、push_structured_event オペレーションがサポートされています。ノーティフィケーション・サービスでは、このオペレーションを呼び出してイベントをサブスクライバに配信します。
CosNotification サービスのクラスの詳しい説明
この節では、このリリースの BEA Tuxedo でインプリメントされる CosNotification サービスのクラスについて説明します。それらのクラスは、tuxdir¥include ディレクトリにある CosNotification サービスの IDL ファイルで完全に記述されています。
注記 サポートされていないクラス・オペレーションを使用すると、CORBA::NO_IMPLEMENT 例外が発生します。
CosNotifyFilter::Filter クラス
このクラスは、イベント・サブスクライバ・アプリケーションによって使用されます。このクラスの OMG IDL は次のとおりです。
Module CosNotifyFilter
{
interface Filter {
ConstraintInfoSeq add_constraints (
in ConstraintExpSeq constraint)
raises (InvalidConstraint);
void destroy();
};
}; //CosNotifyFilter
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |