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

1.17.3 EventFactoryインタフェース

1.17.3.1 EventFactory_create()

名前

EventFactory_create

形式

#include  <EventService.h> 
CosEventChannelAdmin_EventChannel EventFactory_create(
              EventFactory                obj, 
              CORBA_string                key, 
              EventFactory_Option         *data, 
              CORBA_Environment           *env ); 
typedef struct {
      CORBA_long           max_queuing; 
      CORBA_long           life_time; 
      EventFactory_Model   model; 
} EventFactory_Option;

機能説明

イベントチャネルを生成し、生成したイベントチャネルのオブジェクトリファレンスを返します。
本メソッドはオブジェクトリファレンスを格納する領域を獲得するため、この領域が不要になった時点で、CORBA_Object_release()を使用して領域を解放する必要があります。

パラメタ

obj

CORBA_ORB_resolve_initial_references()のidentifierパラメタに“EventFactory_ObjectId_Factory”を指定して獲得したオブジェクトリファレンス。

key

コンシューマ/サプライヤで共通のキーワードを、64バイト以内の文字列で指定します。
共通のキーワードを指定することにより同じイベントチャネルのオブジェクトリファレンスが返されます。

data

EventFactory_Option構造体を指定します。
EventFactory_Option構造体の各メンバには、以下の値を設定します。

メンバ

設定値

max_queuing

最大データ蓄積数。EventFactory_ES_DEFAULT_VALUEを指定した場合、イベントサービスの構成情報の設定で指定した“イベントチャネルに蓄積できるイベントデータ数の最大値”の値を使用します。

life_time

データ保持時間(秒)。EventFactory_ES_DEFAULT_VALUEを指定した場合、イベントサービスの構成情報の設定で指定した“蓄積したイベントデータの生存時間(秒)”の値を使用します。0を指定した場合、タイムアウト監視は行いません。

model

接続モデルとして以下の値を指定します。
EventFactory_ModelAny        接続時に決定
EventFactory_ModelPush      Pushモデル
EventFactory_ModelPull      Pullモデル
EventFactory_ModelMixed      Mixedモデル

env

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

復帰値

正常終了した場合は、env構造体の_majorにCORBA_NO_EXCEPTIONが設定され、生成されたイベントチャネルのオブジェクトリファレンスが返されます。
異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONが設定され、env構造体の_idに詳細情報が設定されます。

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

1.17.3.2 EventFactory_create_channel()

名前

EventFactory_create_channel

形式

#include  <EventService.h>
CosEventChannelAdmin_EventChannel
     EventFactory_create_channel(
            EventFactory                obj,
            CORBA_string                key,
            EventFactory_Option         *data,
            EventFactory_EventProperty  *property,
            CORBA_boolean               *create,
            CORBA_Environment           *env );

typedef struct {
      CORBA_long                        max_queuing; 
      CORBA_long                        life_time; 
      EventFactory_Model                model; 
} EventFactory_Option;

typedef struct EventFactory_Property{
      CORBA_string                      name;
      CORBA_any                         value;
} EventFactory_Property;

typedef struct {
      CORBA_unsigned_long               _maximum;
      CORBA_unsigned_long               _length;
      struct EventFactory_Property      *_buffer;
} EventFactory_EventProperty;

機能説明

イベントチャネルを生成し、生成したイベントチャネルのオブジェクトリファレンスを返します。本メソッドは、生成するチャネルに対してホスト名、ポート番号を変更する場合に使用します。
本メソッドは、オブジェクトリファレンスを格納する領域を獲得するため、この領域が不要になった時点で、CORBA_Object_release()を使用して領域を解放する必要があります。

パラメタ

obj

CORBA_ORB_resolve_initial_references()のidentifierパラメタに“EventFactory_ObjectId_Factory”を指定して獲得したオブジェクトリファレンス。

key

コンシューマ/サプライヤで共通のキーワードを、64バイト以内の文字列で指定します。
共通のキーワードを指定することにより同じイベントチャネルのオブジェクトリファレンスが返されます。

data

EventFactory_Option構造体を指定します。
EventFactory_Option構造体の各メンバには、以下の値を設定します。
なお、イベントチャネルがすでに生成されている場合、本パラメタの値は無視されます。

メンバ

設定値

max_queuing

最大データ蓄積数。EventFactory_ES_DEFAULT_VALUEを指定した場合、イベントサービスの構成情報の設定で指定した“イベントチャネルに蓄積できるイベントデータ数の最大値”の値を使用します。

life_time

データ保持時間(秒)。EventFactory_ES_DEFAULT_VALUEを指定した場合、イベントサービスの構成情報の設定で指定した“蓄積したイベントデータの生存時間(秒)”の値を使用します。0を指定した場合、タイムアウト監視は行いません。

model

接続モデルとして以下の値を指定します。
EventFactory_ModelAny        接続時に決定
EventFactory_ModelPush      Pushモデル
EventFactory_ModelPull      Pullモデル
EventFactory_ModelMixed      Mixedモデル

property

以下の値を指定します。無効なnameが指定された場合、該当レコードは無効となります。また、HostNameとPortNumberのどちらか一方が設定されている場合、指定されたレコードは無効となります。
なお、イベントチャネルがすでに生成されている場合、本パラメタの値は無視されます。

メンバ(name)

データ型(value)

設定値

HostName

string

ホスト名(64文字以内)、またはIPアドレスを指定します。

PortNumber

unsigned short

ポート番号を指定します。

create

イベントチャネルが生成された場合は、CORBA_TRUEが設定されます。
すでに存在した場合は、CORBA_FALSEが設定されます。

env

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

復帰値

正常終了した場合は、env構造体の_majorにCORBA_NO_EXCEPTIONが設定され、生成されたイベントチャネルのオブジェクトリファレンスが返されます。
異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONが設定され、env構造体の_idに詳細情報が設定されます。

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

注意事項

1.17.3.3 EventFactory_get_event_channel()

名前

EventFactory_get_event_channel

形式

#include  <EventService.h> 
CosEventChannelAdmin_EventChannel
     EventFactory_get_event_channel(
         EventFactory        obj,
         CORBA_string        key,
         CORBA_Environment   *env );

機能説明

keyで指定されたイベントチャネルのオブジェクトリファレンスを獲得します。

パラメタ

obj

CORBA_ORB_resolve_initial_references()のidentifierパラメタに“EventFactory_ObjectId_Factory”を指定して獲得したオブジェクトリファレンス。

key

獲得するイベントチャネル名。

env

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

復帰値

正常終了した場合は、env構造体の_majorにCORBA_NO_EXCEPTIONが設定され、keyで指定されたイベントチャネルのオブジェクトリファレンスが返されます。
異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONまたはCORBA_USER_EXCEPTIONが設定され、env構造体の_idに詳細情報が設定されます。

ユーザ例外の場合、以下の例外が設定されます。

ex_EventFactory_ChannelNotFound

指定されたイベントチャネルは存在しません。

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