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

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

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