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

2.21.3 EventFactoryクラス

2.21.3.1 EventFactory::create()

名前

EventFactory::create

形式

#include  <EventService_cplus.h>
CosEventChannelAdmin::EventChannel_ptr
EventFactory::create(
              const CORBA::Char*              key,
              const EventFactory::Option&     data,
              CORBA::Environment&             env )
              throw( CORBA::Exception );
struct Option{
      CORBA::Long             max_queuing;
      CORBA::Long             life_time;
      EventFactory::Model     model;
};

機能説明

イベントチャネルを生成し、生成したイベントチャネルのオブジェクトリファレンスを返します。
EventFactoryのオブジェクトリファレンスは、CORBA::ORB::resolve_initial_references()メソッドのidentifierパラメタに“EventFactory::ObjectId_Factory”を指定して獲得します。
このメソッドはオブジェクトリファレンスを格納する領域を獲得するため、この領域が不要になった時点で、CORBA::release()を使用して領域を解放する必要があります。

パラメタ

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のexceptionメンバにNULLオブジェクトリファレンスが設定され、生成されたイベントチャネルのオブジェクトリファレンスが返されます。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクトのオブジェクトリファレンスが設定されます。

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

2.21.3.2 EventFactory::create_channel()

名前

EventFactory::create_channel

形式

#include  <EventService_cplus.h>
CosEventChannelAdmin::EventChannel_ptr
EventFactory::create_channel(
              const CORBA::Char*                  key,
              const EventFactory::Option&         data,
              const EventFactory::EventProperty&  property,
              const CORBA::boolean*               create,
              CORBA::Environment&                 env )
              throw( CORBA::Exception );
struct Option{
      CORBA::Long             max_queuing;
      CORBA::Long             life_time;
      EventFactory::Model     model;
};
struct EventFactory_Property {
      CORBA::Char*            name;
      CORBA::Any              value;
};
typedef	CORBA::sequence::EventFactory_Property  EventFactory::EventProperty;

機能説明

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

パラメタ

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のexceptionメンバにNULLオブジェクトリファレンスが設定され、生成されたイベントチャネルのオブジェクトリファレンスが返されます。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクトのオブジェクトリファレンスが設定されます。

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

注意事項

2.21.3.3 EventFactory::get_event_channel()

名前

EventFactory::get_event_channel

形式

#include  <EventService_cplus.h>
CosEventChannelAdmin::EventChannel_ptr
EventFactory::get_event_channel(
                        CORBA::Char*         key,
                        CORBA::Environment&  env );
                     throw( CORBA::Exception );

機能説明

keyで指定されたイベントチャネルのオブジェクトリファレンスを獲得します。
EventFactoryのオブジェクトリファレンスは、CORBA::ORB::resolve_initial_references()のidentifierパラメタに“EventFactory::ObjectId_Factory”を指定して獲得します。

パラメタ

key

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

env

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

復帰値

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

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

EventFactory::ChannelNotFound

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

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