ページの先頭行へ戻る
Interstage Application Server リファレンスマニュアル(API編)
FUJITSU Software

2.23.2 ESクラス

2.23.2.1 ES::ChannelUtil::get_proxys()

名前

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を使用して領域を解放する必要があります。

パラメタ

kind

取得するProxyオブジェクトのタイプ。
本パラメタに指定する値に応じて、取得する接続情報が異なります。以下に本パラメタに指定する値と復帰値情報の対応を示します。

kind値と復帰値情報の対応

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構造体の各メンバには以下の値が設定されます。

ES::ChannelUtil::ProxyData構造体のメンバと設定値

メンバ

設定値

Proxy

イベントチャネルに接続しているコンシューマ/サプライヤのオブジェクトリファレンス

time

イベントチャネルに接続された時間

ipaddress

イベントチャネルに接続しているコンシューマ/サプライヤのIPアドレス

kind

イベントチャネルに接続しているコンシューマ/サプライヤのプロキシ種別
  ES::ChannelUtil::PROXY_PULL_CONSUMER_EVENT
  ES::ChannelUtil::PROXY_PULL_SUPPLIER_EVENT
  ES::ChannelUtil::PROXY_PUSH_CONSUMER_EVENT
  ES::ChannelUtil::PROXY_PUSH_SUPPLIER_EVENT
  ES::ChannelUtil::PROXY_PULL_CONSUMER_NOTIFY
  ES::ChannelUtil::PROXY_PULL_SUPPLIER_NOTIFY
  ES::ChannelUtil::PROXY_PUSH_CONSUMER_NOTIFY
  ES::ChannelUtil::PROXY_PUSH_SUPPLIER_NOTIFY
  ES::ChannelUtil::STRUCTURED_PROXY_PULL_CONSUMER
  ES::ChannelUtil::STRUCTURED_PROXY_PULL_SUPPLIER
  ES::ChannelUtil::STRUCTURED_PROXY_PUSH_CONSUMER
  ES::ChannelUtil::STRUCTURED_PROXY_PUSH_SUPPLIER

env

例外情報が格納される構造体。

復帰値

正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定され、イベントチャネルに接続しているコンシューマ/サプライヤの接続情報を返します。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクトのオブジェクトリファレンスが設定されます。

システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、発生したシステム例外およびマイナーコードに対する対処を行ってください。

注意

IPv6環境のIPアドレスで運用している場合、メンバ“ipaddress”には“0”が格納されます。
IPv6環境で使用する場合は、ES::ChannelUtil::get_proxys6()を使用してください。

2.23.2.2 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を使用して領域を解放する必要があります。

パラメタ

kind

取得するProxyオブジェクトのタイプ。
本パラメタに設定する値に応じて、取得する接続情報が異なります。本パラメタに指定した値と復帰値情報の対応については、“2.23.2.1 ES::ChannelUtil::get_proxys()”の“kind値と復帰値情報の対応”を参照してください。

env

例外情報が格納される構造体。

復帰値

正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定され、イベントチャネルに接続しているコンシューマ/サプライヤの接続情報を返します。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクトのオブジェクトリファレンスが設定されます。

システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、発生したシステム例外およびマイナーコードに対する対処を行ってください。

注意

IPv6環境で運用している場合は、IPv4クライアントのメンバ“ipaddress”にはIPv4射影アドレスが格納されます。IPv6環境で運用する設定については、“チューニングガイド”の“Interstageのチューニング”-“IPv6環境での運用について”、および“CORBAサービスの動作環境ファイル”-“config”(IP-versionパラメタ)を参照してください。

2.23.2.3 ES::ChannelUtil::get_consumer_count()

名前

ES::ChannelUtil::get_consumer_count

形式

#include  <EventService_cplus.h>
CORBA::ULong ES::ChannelUtil::get_consumer_count(
                                  CORBA::Environment&              env )
                                 throw( CORBA::Exception );

機能説明

イベントチャネルに接続しているコンシューマ数を取得します。

パラメタ

env

例外情報が格納される構造体。

復帰値

正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定され、イベントチャネルに接続しているコンシューマ数を返します。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクトのオブジェクトリファレンスが設定されます。

システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、発生したシステム例外およびマイナーコードに対する対処を行ってください。

2.23.2.4 ES::ChannelUtil::get_supplier_count()

名前

ES::ChannelUtil::get_supplier_count

形式

#include  <EventService_cplus.h>
CORBA::ULong ES::ChannelUtil::get_supplier_count(
                                  CORBA::Environment&              env )
                                 throw( CORBA::Exception );

機能説明

イベントチャネルに接続しているサプライヤ数を取得します。

パラメタ

env

例外情報が格納される構造体。

復帰値

正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定され、イベントチャネルに接続しているサプライヤ数を返します。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクトのオブジェクトリファレンスが設定されます。

システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、発生したシステム例外およびマイナーコードに対する対処を行ってください。

2.23.2.5 ES::ChannelUtil::get_queue_length()

名前

ES::ChannelUtil::get_queue_length

形式

#include  <EventService_cplus.h>
CORBA::ULong ES::ChannelUtil::get_queue_length(
                                  CORBA::Environment&              env )
                                 throw( CORBA::Exception );

機能説明

イベントチャネルにキューイングされているイベントデータ数を取得します。

パラメタ

env

例外情報が格納される構造体。

復帰値

正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定され、イベントチャネルにキューイングされているイベントデータ数を返します。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクトのオブジェクトリファレンスが設定されます。

システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、発生したシステム例外およびマイナーコードに対する対処を行ってください。

2.23.2.6 ES::ChannelUtil::local_begin()

名前

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()までの間には、以下のメソッドを発行することができます。

サプライヤの場合、ES::ChannelUtil::local_commit()またはES::ChannelUtil::local_rollback()までの間には、以下のメソッドを発行することができます。

また、本メソッド発行後、ES::ChannelUtil::local_commit()またはES::ChannelUtil::local_rollback()が発行されない場合は、ローカルトランザクションタイムアウト時間が経過した時点で、ノーティフィケーションサービスにより自動的にrollbackされます。
なお、本メソッドは、同一proxyに対して、2重に発行できません。

パラメタ

proxy

CosNotifyChannelAdmin::ConsumerAdmin::obtain_notification_pull_supplier()、またはCosNotifyChannelAdmin::SupplierAdmin::obtain_notification_push_consumer()で取得したチャネルのオブジェクトリファレンス。

env

例外情報が格納される構造体。

復帰値

正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定されます。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクトのオブジェクトリファレンスが設定されます。

システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、発生したシステム例外およびマイナーコードに対する対処を行ってください。

2.23.2.7 ES::ChannelUtil::local_commit()

名前

ES::ChannelUtil::local_commit

形式

#include  <NotificationService_cplus.h>
void
ES::ChannelUtil::local_commit(
              CORBA::Object_ptr  proxy,
              CORBA::Environment&  env )
            throw( CORBA::Exception );

機能説明

チャネルに対して、ローカルトランザクションの完了を通知します。
コンシューマの場合、本メソッドの完了時点でイベントチャネルからメッセージの受信が完了します。
サプライヤの場合、本メソッドの完了時点でイベントチャネルからの配信が完了します。

パラメタ

proxy

CosNotifyChannelAdmin::ConsumerAdmin::obtain_notification_pull_supplier()、またはCosNotifyChannelAdmin::SupplierAdmin::obtain_notification_push_consumer()で取得したチャネルのオブジェクトリファレンス。

env

例外情報が格納される構造体。

復帰値

正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定されます。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクトのオブジェクトリファレンスが設定されます。

システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、発生したシステム例外およびマイナーコードに対する対処を行ってください。

2.23.2.8 ES::ChannelUtil::local_rollback()

名前

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()発行前の状態に戻ります。

パラメタ

proxy

CosNotifyChannelAdmin::ConsumerAdmin::obtain_notification_pull_supplier()、またはCosNotifyChannelAdmin::SupplierAdmin::obtain_notification_push_consumer()で取得したチャネルのオブジェクトリファレンス。

env

例外情報が格納される構造体。

復帰値

正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定されます。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクトのオブジェクトリファレンスが設定されます。

システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、発生したシステム例外およびマイナーコードに対する対処を行ってください。

2.23.2.9 ES::ChannelUtil::pull_cancel()

名前

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()メソッド発行による待ち合わせ状態)をキャンセルします。

パラメタ

proxy

CosNotifyChannelAdmin::ConsumerAdmin::obtain_notification_pull_supplier()で取得したチャネルのオブジェクトリファレンス。
注)pullおよびES::ChannelUtil::pull_wait()で指定したオブジェクトリファレンスと同一のオブジェクトリファレンスを指定してください。

env

例外情報が格納される構造体。

復帰値

正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定されます。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクトのオブジェクトリファレンスが設定されます。

システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、発生したシステム例外およびマイナーコードに対する対処を行ってください。

2.23.2.10 ES::ChannelUtil::pull_wait()

名前

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と同様、待ち合わせ時間内にデータが取得可能状態にならない場合は、タイムアウトで復帰します。

パラメタ

proxy

CosNotifyChannelAdmin::ConsumerAdmin::obtain_notification_pull_supplier()で取得したチャネルのオブジェクトリファレンス。

env

例外情報が格納される構造体。

復帰値

正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定されます。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクト、またはUserExceptionオブジェクトのオブジェクトリファレンスが設定されます。

ユーザ例外の場合、以下の例外が発生します。

CosEventComm::Disconnected

イベントチャネルに接続されていません。
イベントチャネル生成時にコネクション情報を自動回収する処理を有効とした場合(esmkchnlコマンド実行時に-autodisconオプションを指定した場合)は、CORBAサービスのクライアント側無通信監視時間超過によりコネクションが切断された可能性があります。継続して通信する場合は、イベントチャネルへの接続から行ってください。

システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、発生したシステム例外およびマイナーコードに対する対処を行ってください。