ページの先頭行へ戻る
Interstage Application Server アプリケーション作成ガイド(イベントサービス編)

1.5.2 StructuredEvent型の設定方法

  StructuredEvent型では、メッセージ単位に詳細情報を設定します。メッセージ単位のTimeout時間などを設定することが可能です。
  StructuredEvent型の構造を以下に示します。データの作成例については、“4.4 QoS機能運用時のアプリケーション開発”を参照してください。



  StructuredEvent型のデータ構造を大別すると、“Event Header”、“Event Body”に分類できます。


Event Header

  Event Headerは、さらに“Fixed Header”、“Variable Header”に分類されます。


(1)Fixed Header

  “Fixed Header”には、データ型の大分類を定義します。

  domain_nameメンバ

  “telecommunications”、“finance”、“healthcare”など産業分野を見分けるための文字列を指定します。設定が不要な場合は、空の文字列("")を指定します。

  type_nameメンバ

  産業分野内で特定するための“CommunicationAlarm”、“StockQuote”、“VitalSigns”などユニークな文字列を指定します。設定が不要な場合は、空の文字列("")を指定します。

  event_nameメンバ

  送信される特定のデータをユニークに見分けるための文字列を指定します。設定が不要な場合は、空の文字列("")を指定します。


(2)Variable Header

  “Variable Header”には、メッセージ単位のQoS情報を設定します。メッセージ単位のQoS情報として設定可能な項目(PriorityおよびTimeout)の詳細については、“1.11.1 QoSプロパティ”を参照してください。
  メッセージごとに設定するQoSプロパティ項目を、以下の2つのメンバで構成されるProperty構造体のシーケンス型で指定します。設定が不要な場合は、空のシーケンス型を指定します。

  nameメンバ

  QoSプロパティ項目の項目名をstring型で設定します。

  valueメンバ

  nameメンバに対するQoSプロパティ項目の値を設定します。


Event Body

  メッセージ本文を指定します。


(1)Filterable Body Fields

  イベントデータの生成時に、以下の例を参考に指定してください。

[C言語の場合]
    CosNotification_StructuredEvent      *data =
                CosNotification_StructuredEvent_alloc();
        data->filterable_data._maximum = 0;
        data->filterable_data._length  = 0;
        data->filterable_data._buffer  = NULL;
[C++言語の場合]
    CosNotification::StructuredEvent     *data =
            new CosNotification::StrucuturedEvent();
    CosNotification::FilterableEventBody *filterable_data =
            new CosNotification::FilterableEventBody( 0, 0, NULL, CORBA_FALSE );
    data->filterable_data = filterable data;
[Java言語の場合]
    Property[]    filterable = new Property[0];
        StructuredEvent    data =
            new StructuredEvent( eventHeader, filterable, remainderBody );

(2)Remaining Body

  メッセージ本文をany型のデータ構造で設定します。any型メッセージの設定方法については、“1.5.1 any型の設定方法”を参照してください。

  ノーティフィケーションサービスでは、2組のデータ形式を扱うため、データ形式の相互変換機能をサポートしています。


サプライヤ

コンシューマ

相互変換

any

any

そのままの形式で通知されます。

StructuredEvent

1.5.3 any型からStructuredEvent型への変換”を参照してください。

StructuredEvent

any

1.5.4 StructuredEvent型からany型への変換”を参照してください。

StructuredEvent

そのままの形式で通知されます。