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

第2章 C++言語インタフェース> 2.21 イベントサービスインタフェース> 2.21.3 EventFactoryクラス

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;
  };
  typedefCORBA::sequence::EventFactory_Property  EventFactory::EventProperty;

機能説明

 イベントチャネルを生成し、生成したイベントチャネルのオブジェクトリファレンスを返します。本メソッドは、生成するチャネルに対してホスト名、ポート番号を変更する場合に使用します。
 EventFactoryのオブジェクトリファレンスは、CORBA::ORB::resolve_initial_references()identifierパラメタに以下の値を指定して獲得します。

 EventFactory::ObjectId_Factory

 keyには、コンシューマ/サプライヤで共通のキーワードを指定します。共通のキーワードを指定することにより同じイベントチャネルを示すオブジェクトリファレンスが返されます。イベントチャネルがすでに生成されている場合、dataおよびpropertyパラメタの値は無視されます。

 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が設定されます。
 本メソッドは、オブジェクトリファレンスを格納する領域を獲得するため、この領域が不要になった時点で、CORBA::release()を使用して領域を解放する必要があります。

復帰値

 正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定され、生成されたイベントチャネルのオブジェクトリファレンスを返します。
 異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクトのオブジェクトリファレンスが設定されます。
 システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、設定されたシステム例外およびマイナーコードに対する対処を行ってください。

注意事項


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

Copyright 2005 FUJITSU LIMITED