名前
ES_ChannelUtil_get_proxys
形式
#include <EventService.h>
ES_ChannelUtil_ProxyDataSeq *
ES_ChannelUtil_get_proxys (
ES_ChannelUtil obj,
ES_ChannelUtil_ProxyKind kind,
CORBA_Environment *env );
typedef struct {
CORBA_Object proxy;
CORBA_long time;
CORBA_long ipaddress;
ES_ChannelUtil_ProxyKind kind;
} ES_ChannelUtil_ProxyData;
typedef sequence<ES_ChannelUtil_ProxyData> ES_ChannelUtil_ProxyDataSeq;機能説明
イベントチャネルに接続しているコンシューマ/サプライヤの接続情報を取得します。
このメソッドはイベントチャネルに接続しているコンシューマ/サプライヤの接続情報を格納する領域を獲得するため、この領域が不要になった時点で、CORBA_free()を使用して領域を解放する必要があります。
パラメタ
ES_ChannelUtilのオブジェクトリファレンス。
取得する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構造体の_majorにCORBA_NO_EXCEPTIONが設定され、イベントチャネルに接続しているコンシューマ/サプライヤの接続情報を返します。
異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONが設定され、env構造体の_idに詳細情報が設定されます。
システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、設定されたシステム例外およびマイナーコードに対する対処を行ってください。
![]()
IPv6環境のIPアドレスで運用している場合、メンバ“ipaddress”には“0”が格納されます。
IPv6環境で使用する場合は、ES_ChannelUtil_get_proxys6()を使用してください。
名前
ES_ChannelUtil_get_proxys6
形式
#include <EventService.h>
ES_ChannelUtil_ProxyData6Seq *
ES_ChannelUtil_get_proxys6 (
ES_ChannelUtil obj,
ES_ChannelUtil_ProxyKind kind,
CORBA_Environment *env );
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”が入力されます。
このメソッドはイベントチャネルに接続しているコンシューマ/サプライヤの接続情報を格納する領域を獲得するため、この領域が不要になった時点で、CORBA_free()を使用して領域を解放する必要があります。
パラメタ
ES_ChannelUtilのオブジェクトリファレンス。
取得するProxyオブジェクトのタイプ。
本パラメタに設定する値に応じて、取得する接続情報が異なります。kindに指定した値と復帰値情報の対応については、“1.19.2.1 ES_ChannelUtil_get_proxys()”の“kind値と復帰値情報の対応”を参照してください。
例外情報が格納される構造体。
復帰値
正常終了した場合は、env構造体の_majorにCORBA_NO_EXCEPTIONが設定され、イベントチャネルに接続しているコンシューマ/サプライヤの接続情報を返します。
異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONが設定され、env構造体の_idに詳細情報が設定されます。
システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、設定されたシステム例外およびマイナーコードに対する対処を行ってください。
![]()
IPv6環境で運用している場合は、IPv4クライアントのメンバ“ipaddress”にはIPv4射影アドレスが格納されます。IPv6環境で運用する設定については、“チューニングガイド”の“Interstageのチューニング”-“IPv6環境での運用について”、および“CORBAサービスの動作環境ファイル”-“config”(IP-versionパラメタ)を参照してください。
名前
ES_ChannelUtil_get_consumer_count
形式
#include <EventService.h>
CORBA_unsigned_long
ES_ChannelUtil_get_consumer_count(
ES_ChannelUtil obj,
CORBA_Environment *env );機能説明
イベントチャネルに接続しているコンシューマ数を取得します。
パラメタ
ES_ChannelUtilのオブジェクトリファレンス。
例外情報が格納される構造体。
復帰値
正常終了した場合は、env構造体の_majorにCORBA_NO_EXCEPTIONが設定され、イベントチャネルに接続しているコンシューマ数を返します。
異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONが設定され、env構造体の_idに詳細情報が設定されます。
システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、設定されたシステム例外およびマイナーコードに対する対処を行ってください。
名前
ES_ChannelUtil_get_supplier_count
形式
#include <EventService.h>
CORBA_unsigned_long
ES_ChannelUtil_get_supplier_count(
ES_ChannelUtil obj,
CORBA_Environment *env );機能説明
イベントチャネルに接続しているサプライヤ数を取得します。
パラメタ
ES_ChannelUtilのオブジェクトリファレンス。
例外情報が格納される構造体。
復帰値
正常終了した場合は、env構造体の_majorにCORBA_NO_EXCEPTIONが設定され、イベントチャネルに接続しているサプライヤ数を返します。
異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONが設定され、env構造体の_idに詳細情報が設定されます。
システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、設定されたシステム例外およびマイナーコードに対する対処を行ってください。
名前
ES_ChannelUtil_get_queue_length
形式
#include <EventService.h>
CORBA_unsigned_long
ES_ChannelUtil_get_queue_length(
ES_ChannelUtil obj,
CORBA_Environment *env );機能説明
イベントチャネルにキューイングされているイベントデータ数を取得します。
パラメタ
ES_ChannelUtilのオブジェクトリファレンス。
例外情報が格納される構造体。
復帰値
正常終了した場合は、env構造体の_majorにCORBA_NO_EXCEPTIONが設定され、イベントチャネルにキューイングされているイベントデータ数を返します。
異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONが設定され、env構造体の_idに詳細情報が設定されます。
システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、設定されたシステム例外およびマイナーコードに対する対処を行ってください。
名前
ES_ChannelUtil_local_begin
形式
#include <NotificationServices.h>
void
ES_ChannelUtil_local_begin(
ES_ChannelUtil obj,
CORBA_Object proxy,
CORBA_Environment *env );機能説明
チャネルに対して、ローカルトランザクションの開始を通知します。
コンシューマの場合、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重に発行できません。
パラメタ
ES_ChannelUtilのオブジェクトリファレンス。
CosNotifyChannelAdmin_ConsumerAdmin_obtain_notification_pull_supplier()、またはCosNotifyChannelAdmin_SupplierAdmin_obtain_notification_push_consumer()で取得したオブジェクトリファレンス。
例外情報が格納される構造体。
復帰値
正常終了した場合は、env構造体の_majorにCORBA_NO_EXCEPTIONが設定されます。
異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONが設定され、env構造体の_idに詳細情報が設定されます。
システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、設定されたシステム例外およびマイナーコードに対する対処を行ってください。
名前
ES_ChannelUtil_local_commit
形式
#include <NotificationServices.h>
void
ES_ChannelUtil_local_commit(
ES_ChannelUtil obj,
CORBA_Object proxy,
CORBA_Environment *env );機能説明
チャネルに対して、ローカルトランザクションの完了を通知します。
コンシューマの場合、本メソッドの完了時点でイベントチャネルからメッセージの受信が完了します。
サプライヤの場合、本メソッドの完了時点でイベントチャネルからの配信が完了します。
パラメタ
ES_ChannelUtilのオブジェクトリファレンス。
CosNotifyChannelAdmin_ConsumerAdmin_obtain_notification_pull_supplier()、またはCosNotifyChannelAdmin_SupplierAdmin_obtain_notification_push_consumer()で取得したオブジェクトリファレンス。
例外情報が格納される構造体。
復帰値
正常終了した場合は、env構造体の_majorにCORBA_NO_EXCEPTIONが設定されます。
異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONが設定され、env構造体の_idに詳細情報が設定されます。
システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、設定されたシステム例外およびマイナーコードに対する対処を行ってください。
名前
ES_ChannelUtil_local_rollback
形式
#include <NotificationServices.h>
void
ES_ChannelUtil_local_rollback(
ES_ChannelUtil obj,
CORBA_Object proxy,
CORBA_Environment *env );機能説明
チャネルに対して、ローカルトランザクションのキャンセルを通知します。本メソッドを発行することにより、ノーティフィケーションサービスのイベントチャネルはES_ChannelUtil_local_begin()発行前の状態に戻ります。
パラメタ
ES_ChannelUtilのオブジェクトリファレンス。
CosNotifyChannelAdmin_ConsumerAdmin_obtain_notification_pull_supplier()、またはCosNotifyChannelAdmin_SupplierAdmin_obtain_notification_push_consumer()で取得したオブジェクトリファレンス。
例外情報が格納される構造体。
復帰値
正常終了した場合は、env構造体の_majorにCORBA_NO_EXCEPTIONが設定されます。
異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONが設定され、env構造体の_idに詳細情報が設定されます。
システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、設定されたシステム例外およびマイナーコードに対する対処を行ってください。
名前
ES_ChannelUtil_pull_cancel
形式
#include <NotificationServices.h>
void
ES_ChannelUtil_pull_cancel(
ES_ChannelUtil obj,
CORBA_Object proxy,
CORBA_Environment *env );機能説明
本メソッドは、対象proxyのpull待ち状態(pullおよびES_ChannelUtil_pull_wait()メソッド発行による待ち合わせ状態)をキャンセルします。
パラメタ
ES_ChannelUtilのオブジェクトリファレンス。
CosNotifyChannelAdmin_ConsumerAdmin_obtain_notification_pull_supplier()で取得したオブジェクトリファレンス。
注)pullおよびES_ChannelUtil_pull_wait()で指定したオブジェクトリファレンスと同一のオブジェクトリファレンスを指定してください。
例外情報が格納される構造体。
復帰値
正常終了した場合は、env構造体の_majorにCORBA_NO_EXCEPTIONが設定されます。
異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONが設定され、env構造体の_idに詳細情報が設定されます。
システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、設定されたシステム例外およびマイナーコードに対する対処を行ってください。
名前
ES_ChannelUtil_pull_wait
形式
#include <NotificationServices.h>
void
ES_ChannelUtil_pull_wait(
ES_ChannelUtil obj,
CORBA_Object proxy,
CORBA_Environment *env );機能説明
本メソッドは、対象proxyがpullまたはtry_pullでデータ取得が可能な状態となるまで待ち合わせます。メソッド実行後、データ取得が可能な状態となった時点で呼び出し元に復帰します。
対象proxyがすでにpullでデータ取得可能な状態である場合は、即時復帰します。pullと同様、待ち合わせ時間内にデータが取得可能状態にならない場合は、タイムアウトで復帰します。
パラメタ
ES_ChannelUtilのオブジェクトリファレンス。
CosNotifyChannelAdmin_ConsumerAdmin_obtain_notification_pull_supplier()で取得したオブジェクトリファレンス。
例外情報が格納される構造体。
復帰値
正常終了した場合は、env構造体の_majorにCORBA_NO_EXCEPTIONが設定されます。
異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONまたはCORBA_USER_EXCEPTIONが設定され、env構造体の_idに詳細情報が設定されます。
ユーザ例外の場合、以下の詳細情報が設定されます。
イベントチャネルに接続されていません。
イベントチャネル生成時にコネクション情報を自動回収する処理を有効とした場合(esmkchnlコマンド実行時に-autodisconオプションを指定した場合)は、CORBAサービスのクライアント側無通信監視時間超過によりコネクションが切断された可能性があります。継続して通信する場合は、イベントチャネルへの接続から行ってください。
システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、設定されたシステム例外およびマイナーコードに対する対処を行ってください。