名前
ES::ChannelUtil::get_proxys
形式
#include <EventService_cplus.h> ES::ChannelUtil::ProxyDataSeq ES::ChannelUtil::get_proxys ( ES::ChannelUtil::ProxyType kind, CORBA::Environment& env ) throw( CORBA::Exception ); typedef struct { CORBA::Object_var proxy; CORBA::Long time; CORBA::Long ipaddress; ES::ChannelUtil::ProxyKind kind; } ES::ChannelUtil::ProxyData; typedef sequence<ES::ChannelUtil::ProxyData> ES::ChannelUtil::ProxyDataSeq;
機能説明
イベントチャネルに接続しているコンシューマ/サプライヤの接続情報を取得します。
このメソッドはイベントチャネルに接続しているコンシューマ/サプライヤの接続情報を格納する領域を獲得するため、この領域が不要になった時点で、deleteを使用して領域を解放する必要があります。
パラメタ
取得するProxyオブジェクトのタイプ。
本パラメタに指定する値に応じて、取得する接続情報が異なります。以下に本パラメタに指定する値と復帰値情報の対応を示します。
kindに指定可能な値 | 復帰値情報 |
---|---|
ES::ChannelUtil::ALL_PROXYS | すべての接続情報を取得 |
ES::ChannelUtil::PROXY_CONSUMER | すべてのProxyConsumerの一覧を取得 |
ES::ChannelUtil::PROXY_SUPPLIER | すべてのProxySupplierの一覧を取得 |
ES::ChannelUtil::PROXY_PULL_CONSUMER_EVENT | CosEventChannelAdminのProxyPullConsumerの一覧を取得 |
ES::ChannelUtil::PROXY_PULL_SUPPLIER_EVENT | CosEventChannelAdminのProxyPullSupplierの一覧を取得 |
ES::ChannelUtil::PROXY_PUSH_CONSUMER_EVENT | CosEventChannelAdminのProxyPushConsumerの一覧を取得 |
ES::ChannelUtil::PROXY_PUSH_SUPPLIER_EVENT | CosEventChannelAdminのProxyPushSupplierの一覧を取得 |
ES::ChannelUtil::PROXY_PULL_CONSUMER_NOTIFY | CosNotifyChannelAdminのProxyPullConsumerの一覧を取得 |
ES::ChannelUtil::PROXY_PULL_SUPPLIER_NOTIFY | CosNotifyChannelAdminのProxyPullSupplierの一覧を取得 |
ES::ChannelUtil::PROXY_PUSH_CONSUMER_NOTIFY | CosNotifyChannelAdminのProxyPushConsumerの一覧を取得 |
ES::ChannelUtil::PROXY_PUSH_SUPPLIER_NOTIFY | CosNotifyChannelAdminのProxyPushSupplierの一覧を取得 |
ES::ChannelUtil::STRUCTURED_PROXY_PULL_CONSUMER | CosNotifyChannelAdminのStructuredProxyPullConsumerの一覧を取得 |
ES::ChannelUtil::STRUCTURED_PROXY_PULL_SUPPLIER | CosNotifyChannelAdminのStructuredProxyPullSupplierの一覧を取得 |
ES::ChannelUtil::STRUCTURED_PROXY_PUSH_CONSUMER | CosNotifyChannelAdminのStructuredProxyPushConsumerの一覧を取得 |
ES::ChannelUtil::STRUCTURED_PROXY_PUSH_SUPPLIER | CosNotifyChannelAdminのStructuredProxyPushSupplierの一覧を取得 |
ES::ChannelUtil::ProxyData構造体の各メンバには以下の値が設定されます。
メンバ | 設定値 |
---|---|
Proxy | イベントチャネルに接続しているコンシューマ/サプライヤのオブジェクトリファレンス |
time | イベントチャネルに接続された時間 |
ipaddress | イベントチャネルに接続しているコンシューマ/サプライヤのIPアドレス |
kind | イベントチャネルに接続しているコンシューマ/サプライヤのプロキシ種別 |
例外情報が格納される構造体。
復帰値
正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定され、イベントチャネルに接続しているコンシューマ/サプライヤの接続情報を返します。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクトのオブジェクトリファレンスが設定されます。
システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、発生したシステム例外およびマイナーコードに対する対処を行ってください。
注意
IPv6環境のIPアドレスで運用している場合、メンバ“ipaddress”には“0”が格納されます。
IPv6環境で使用する場合は、ES::ChannelUtil::get_proxys6()を使用してください。
名前
ES::ChannelUtil::get_proxys6
形式
#include <EventService_cplus.h> ES::ChannelUtil::ProxyData6Seq ES::ChannelUtil::get_proxys6 ( ES::ChannelUtil::ProxyType kind, CORBA::Environment& env ) throw( CORBA::Exception ); typedef struct { CORBA::Object proxy; CORBA::Long time; CORBA::Octet ipaddress[16]; CORBA::Long ip_format; ES::ChannelUtil::ProxyKind kind; } ES::ChannelUtil::ProxyData6; typedef sequence<ES::ChannelUtil::ProxyData6> ES::ChannelUtil::ProxyData6Seq;
機能説明
イベントチャネルに接続しているコンシューマ/サプライヤの接続情報を取得します。
ip_formatには、ipaddressがIPv6形式で格納されている場合は“1”が、IPv4形式の場合は“0”が入力されます。
このメソッドはイベントチャネルに接続しているコンシューマ/サプライヤの接続情報を格納する領域を獲得するため、この領域が不要になった時点で、deleteを使用して領域を解放する必要があります。
パラメタ
取得するProxyオブジェクトのタイプ。
本パラメタに設定する値に応じて、取得する接続情報が異なります。本パラメタに指定した値と復帰値情報の対応については、“2.23.2.1 ES::ChannelUtil::get_proxys()”の“kind値と復帰値情報の対応”を参照してください。
例外情報が格納される構造体。
復帰値
正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定され、イベントチャネルに接続しているコンシューマ/サプライヤの接続情報を返します。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクトのオブジェクトリファレンスが設定されます。
システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、発生したシステム例外およびマイナーコードに対する対処を行ってください。
注意
IPv6環境で運用している場合は、IPv4クライアントのメンバ“ipaddress”にはIPv4射影アドレスが格納されます。IPv6環境で運用する設定については、“チューニングガイド”の“Interstageのチューニング”-“IPv6環境での運用について”、および“CORBAサービスの動作環境ファイル”-“config”(IP-versionパラメタ)を参照してください。
名前
ES::ChannelUtil::get_consumer_count
形式
#include <EventService_cplus.h> CORBA::ULong ES::ChannelUtil::get_consumer_count( CORBA::Environment& env ) throw( CORBA::Exception );
機能説明
イベントチャネルに接続しているコンシューマ数を取得します。
パラメタ
例外情報が格納される構造体。
復帰値
正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定され、イベントチャネルに接続しているコンシューマ数を返します。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクトのオブジェクトリファレンスが設定されます。
システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、発生したシステム例外およびマイナーコードに対する対処を行ってください。
名前
ES::ChannelUtil::get_supplier_count
形式
#include <EventService_cplus.h> CORBA::ULong ES::ChannelUtil::get_supplier_count( CORBA::Environment& env ) throw( CORBA::Exception );
機能説明
イベントチャネルに接続しているサプライヤ数を取得します。
パラメタ
例外情報が格納される構造体。
復帰値
正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定され、イベントチャネルに接続しているサプライヤ数を返します。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクトのオブジェクトリファレンスが設定されます。
システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、発生したシステム例外およびマイナーコードに対する対処を行ってください。
名前
ES::ChannelUtil::get_queue_length
形式
#include <EventService_cplus.h> CORBA::ULong ES::ChannelUtil::get_queue_length( CORBA::Environment& env ) throw( CORBA::Exception );
機能説明
イベントチャネルにキューイングされているイベントデータ数を取得します。
パラメタ
例外情報が格納される構造体。
復帰値
正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定され、イベントチャネルにキューイングされているイベントデータ数を返します。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクトのオブジェクトリファレンスが設定されます。
システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、発生したシステム例外およびマイナーコードに対する対処を行ってください。
名前
ES::ChannelUtil::local_begin
形式
#include <NotificationService_cplus.h> void ES::ChannelUtil::local_begin( CORBA::Object_ptr proxy, CORBA::Environment& env ) throw( CORBA::Exception );
機能説明
チャネルに対して、ローカルトランザクションの開始を通知します。
コンシューマの場合、ES::ChannelUtil::local_commit()またはES::ChannelUtil::local_rollback()までの間には、以下のメソッドを発行することができます。
CosNotifyComm::StructuredPullSupplier::pull_structured_event()
CosNotifyComm::StructuredPullSupplier::try_pull_structured_event()
サプライヤの場合、ES::ChannelUtil::local_commit()またはES::ChannelUtil::local_rollback()までの間には、以下のメソッドを発行することができます。
また、本メソッド発行後、ES::ChannelUtil::local_commit()またはES::ChannelUtil::local_rollback()が発行されない場合は、ローカルトランザクションタイムアウト時間が経過した時点で、ノーティフィケーションサービスにより自動的にrollbackされます。
なお、本メソッドは、同一proxyに対して、2重に発行できません。
パラメタ
CosNotifyChannelAdmin::ConsumerAdmin::obtain_notification_pull_supplier()、またはCosNotifyChannelAdmin::SupplierAdmin::obtain_notification_push_consumer()で取得したチャネルのオブジェクトリファレンス。
例外情報が格納される構造体。
復帰値
正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定されます。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクトのオブジェクトリファレンスが設定されます。
システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、発生したシステム例外およびマイナーコードに対する対処を行ってください。
名前
ES::ChannelUtil::local_commit
形式
#include <NotificationService_cplus.h> void ES::ChannelUtil::local_commit( CORBA::Object_ptr proxy, CORBA::Environment& env ) throw( CORBA::Exception );
機能説明
チャネルに対して、ローカルトランザクションの完了を通知します。
コンシューマの場合、本メソッドの完了時点でイベントチャネルからメッセージの受信が完了します。
サプライヤの場合、本メソッドの完了時点でイベントチャネルからの配信が完了します。
パラメタ
CosNotifyChannelAdmin::ConsumerAdmin::obtain_notification_pull_supplier()、またはCosNotifyChannelAdmin::SupplierAdmin::obtain_notification_push_consumer()で取得したチャネルのオブジェクトリファレンス。
例外情報が格納される構造体。
復帰値
正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定されます。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクトのオブジェクトリファレンスが設定されます。
システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、発生したシステム例外およびマイナーコードに対する対処を行ってください。
名前
ES::ChannelUtil::local_rollback
形式
#include <NotificationService_cplus.h> void ES::ChannelUtil::local_rollback( CORBA::Object_ptr proxy, CORBA::Environment& env ) throw( CORBA::Exception );
機能説明
チャネルに対して、ローカルトランザクションのキャンセルを通知します。本メソッドを発行することにより、ノーティフィケーションサービスのイベントチャネルはES::ChannelUtil::local_begin()発行前の状態に戻ります。
パラメタ
CosNotifyChannelAdmin::ConsumerAdmin::obtain_notification_pull_supplier()、またはCosNotifyChannelAdmin::SupplierAdmin::obtain_notification_push_consumer()で取得したチャネルのオブジェクトリファレンス。
例外情報が格納される構造体。
復帰値
正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定されます。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクトのオブジェクトリファレンスが設定されます。
システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、発生したシステム例外およびマイナーコードに対する対処を行ってください。
名前
ES::ChannelUtil::pull_cancel
形式
#include <NotificationService_cplus.h> void ES::ChannelUtil::pull_cancel( CORBA::Object_ptr proxy, CORBA::Environment& env ) throw( CORBA::Exception );
機能説明
本メソッドは、対象proxyのpull待ち状態(pullおよびES::ChannelUtil::pull_wait()メソッド発行による待ち合わせ状態)をキャンセルします。
パラメタ
CosNotifyChannelAdmin::ConsumerAdmin::obtain_notification_pull_supplier()で取得したチャネルのオブジェクトリファレンス。
注)pullおよびES::ChannelUtil::pull_wait()で指定したオブジェクトリファレンスと同一のオブジェクトリファレンスを指定してください。
例外情報が格納される構造体。
復帰値
正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定されます。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクトのオブジェクトリファレンスが設定されます。
システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、発生したシステム例外およびマイナーコードに対する対処を行ってください。
名前
ES::ChannelUtil::pull_wait
形式
#include <NotificationService_cplus.h> void ES::ChannelUtil::pull_wait( CORBA::Object_ptr proxy, CORBA::Environment& env ) throw( CORBA::Exception );
機能説明
本メソッドは、対象proxyがpullまたはtry_pullでデータ取得が可能な状態となるまで待ち合わせます。メソッド実行後、データ取得が可能な状態となった時点で呼び出し元に復帰します。
対象proxyがすでにpullでデータ取得可能な状態である場合は、即時復帰します。pullと同様、待ち合わせ時間内にデータが取得可能状態にならない場合は、タイムアウトで復帰します。
パラメタ
CosNotifyChannelAdmin::ConsumerAdmin::obtain_notification_pull_supplier()で取得したチャネルのオブジェクトリファレンス。
例外情報が格納される構造体。
復帰値
正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定されます。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクト、またはUserExceptionオブジェクトのオブジェクトリファレンスが設定されます。
ユーザ例外の場合、以下の例外が発生します。
イベントチャネルに接続されていません。
イベントチャネル生成時にコネクション情報を自動回収する処理を有効とした場合(esmkchnlコマンド実行時に-autodisconオプションを指定した場合)は、CORBAサービスのクライアント側無通信監視時間超過によりコネクションが切断された可能性があります。継続して通信する場合は、イベントチャネルへの接続から行ってください。
システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、発生したシステム例外およびマイナーコードに対する対処を行ってください。