Interstage Application Server リファレンスマニュアル(API編)
目次 索引 前ページ次ページ

第2章 C++言語インタフェース> 2.21 イベントサービスインタフェース> 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
 コンシューマ/サプライヤで共通のキーワード。
 共通のキーワードを指定することにより同じイベントチャネルのオブジェクトリファレンスが返されます。
 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::StExcep::NO_RESOURCES
 資源不足が発生しました。イベントファクトリで生成可能なイベントチャネルの上限を超えた可能性があります。
 CORBA::StExcep::COMM_FAILURE
 通信異常が発生しました。
 CORBA::StExcep::NO_IMPLEMENT
 イベントファクトリが起動されていません。

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005