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

2.22.3 CosNotifyCommモジュール

2.22.3.1 CosNotifyComm::StructuredPushConsumer::push_structured_event()

名前

  CosNotifyComm::StructuredPushConsumer::push_structured_event

形式

  #include  <NotificationService_cplus.h>
  void
  CosNotifyComm::StructuredPushConsumer::push_structured_event(
              const CosNotification::StructuredEvent&              data,
              CORBA::Environment&                                  env );
              throw( CORBA::Exception );

機能説明

dataで指定されたStructuredEvent型のイベントデータをコンシューマに送信します。

パラメタ

  data

  コンシューマに送信するStructuredEvent型のイベントデータ。

  env

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

復帰値

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

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

  CosEventComm::Disconnected

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

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

2.22.3.2 CosNotifyComm::StructuredPullSupplier::pull_structured_event()

名前

  CosNotifyComm::StructuredPullSupplier::pull_structured_event

形式

  #include  <NotificationService_cplus.h>
  CosNotification::StructuredEvent *
  CosNotifyComm::StructuredPullSupplier::pull_structured_event (
              CORBA::Environment&                   env );
              throw( CORBA::Exception );

機能説明

  サプライヤにStructuredEvent型のイベントデータを要求します。イベントデータの取り出しが可能になるか、または例外が発生するまでブロックされます。なお、イベントデータを取り出せない場合に即時復帰したい場合は、CosNotifyComm::StructuredPullSupplier::try_pull_structured_eventを使用してください。
  取り出したStructuredEvent型のイベントデータは、この領域が不要になった時点で、deleteを使用して領域を解放する必要があります。

パラメタ

  env

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

復帰値

  正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定され、サプライヤからのイベントデータを返します。
  異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクト、またはUserExceptionオブジェクトのオブジェクトリファレンスが設定されます。

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

  CosEventComm::Disconnected

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

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

2.22.3.3 CosNotifyComm::StructuredPullSupplier::try_pull_structured_event()

名前

  CosNotifyComm::StructuredPullSupplier::try_pull_structured_event

形式

  #include  <NotificationService_cplus.h>
  CosNotification::StructuredEvent *
  CosNotifyComm::StructuredPullSupplier::try_pull_structured_event (
              CORBA::Boolean&                   has_event,
              CORBA::Environment&               env );
              throw( CORBA::Exception );

機能説明

  サプライヤにStructuredEvent型のイベントデータを要求します。サプライヤからイベントデータを取り出せない場合は即座に復帰します。なお、イベントデータを取り出せるまでブロックしたい場合には、CosNotifyComm::StructuredPullSupplier::pull_structured_eventを使用してください。
  取り出したStructuredEvent型のイベントデータは、この領域が不要になった時点で、deleteを使用して領域を解放する必要があります。

パラメタ

  has_eventoutパラメタ

  イベントデータを取り出せた場合は、CORBA_TRUEが設定されます。
  イベントデータを取り出せなかった場合は、CORBA_FALSEが設定されます。

  env

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

復帰値

  正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定されます。イベントデータを取り出せた場合は、has_eventにCORBA_TRUEが設定され、サプライヤからのイベントデータが復帰します。イベントデータを取り出せなかった場合には、has_eventにCORBA_FALSEが設定されます。この場合も空のStructuredEvent型のイベントデータの領域が獲得されるので、取り出したStructuredEvent型のイベントデータの領域は、deleteを使用して領域を解放する必要があります。
  異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクト、またはUserExceptionオブジェクトのオブジェクトリファレンスが設定されます。

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

  CosEventComm::Disconnected

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

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

注意事項

  ローカルトランザクション運用中に、has_eventにCORBA_FALSEが設定された場合は、ES::ChannelUtil::local_rollback()によりキャンセルを通知する必要はありません。ES::ChannelUtil::local_commit()により完了を通知してください。

  グローバルトランザクション運用中に、has_eventにCORBA_FALSEが設定された場合は、CosTransactions::Current::rollback()によりキャンセルを通知する必要はありません。CosTransactions::Current::commit()により完了を通知してください。

2.22.3.4 CosNotifyComm::StructuredPushConsumer::disconnect_structured_push_consumer()

名前

  CosNotifyComm::StructuredPushConsumer::disconnect_structured_push_consumer

形式

  #include  <NotificationService_cplus.h>
  void
  CosNotifyComm::StructuredPushConsumer::disconnect_structured_push_consumer (
              CORBA::Environment&                    env );
              throw( CORBA::Exception );

機能説明

  サプライヤからイベント通信の終了を宣言します。

パラメタ

  env

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

復帰値

  正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定されます。
  異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクトのオブジェクトリファレンスが設定されます。
  システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、発生したシステム例外およびマイナーコードに対する対処を行ってください。

2.22.3.5 CosNotifyComm::StructuredPullSupplier::disconnect_structured_pull_supplier()

名前

  CosNotifyComm::StructuredPullSupplier::disconnect_structured_pull_supplier

形式

  #include  <NotificationService_cplus.h>
  void
  CosNotifyComm::StructuredPullSupplier::disconnect_structured_pull_supplier (
              CORBA::Environment&                env );
              throw( CORBA::Exception );

機能説明

  コンシューマからイベント通信の終了を宣言します。

パラメタ

  env

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

復帰値

  正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定されます。
  異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクトのオブジェクトリファレンスが設定されます。
  システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、発生したシステム例外およびマイナーコードに対する対処を行ってください。

2.22.3.6 継承されて使用できるクラス

  以下のクラスを継承して使用することができます。詳細については、“2.21.1 CosEventCommクラス”を参照してください。

  1. CosNotifyComm::PushConsumer::push

  2. CosNotifyComm::PushConsumer::disconnect_push_consumer

  3. CosNotifyComm::PullSupplier::pull

  4. CosNotifyComm::PullSupplier::try_pull

  5. CosNotifyComm::PullSupplier::disconnect_pull_supplier