Interstage Application Server リファレンスマニュアル(API編) |
目次
索引
![]() ![]() |
第2章 C++言語インタフェース | > 2.21 イベントサービスインタフェース | > 2.21.3 EventFactoryクラス |
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 |
接続モデルとして以下の値を指定します。 |
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サービスから通知される例外情報/マイナーコード”を参照し、設定されたシステム例外およびマイナーコードに対する対処を行ってください。
目次
索引
![]() ![]() |