Interstage Application Server アプリケーション作成ガイド (イベントサービス編) |
目次
索引
![]() ![]() |
第4章 アプリケーションの開発(各機能) | > 4.1 イベントチャネル接続のアプリケーション開発 |
アプリケーションから、イベントチャネルに接続しているコンシューマおよびサプライヤの情報を取得することができます。
取得できる接続情報を以下に示します。
C++プログラムで接続情報を取得するアプリケーション作成例(イベントサービスの場合/ノーティフィケーションの場合)と処理の流れを以下に説明します。
[イベントチャネルに接続しているアプリケーションの接続情報の取得(C++の場合)]
CosEventChannelAdmin::EventChannel_ptr channel; CORBA::Object_ptr util; ES::ChannelUtil_ptr Esutil; ES::ChannelUtil::ProxyDataSeq *pPxyData; CORBA::ULong consumer; CORBA::ULong supplier; CORBA::ULong queue; CosEventChannelAdmin::EventChannel::UtilType type; ES::ChannelUtil::ProxyKind proxy_kind; ... channel = イベントチャネルのオブジェクトリファレンスの獲得 /* 1 */ /*----- get ES_ChannelUtil interface object ----*/ type = CosEventChannelAdmin::EventChannel::CHANNEL_UTIL; util = channel->create_util(type,env); /* 2 */ Esutil = ES::ChannelUtil::_narrow( util ); /*----- get channel connection information -----*/ proxy_kind = ES::ChannelUtil::ALL_PROXYS; pPxyData = Esutil->get_proxys(proxy_kind, env ); /* 3 */ /* ---- get consumer count ---- */ consumer = Esutil->get_consumer_count( env ); /* 4 */ /* ---- get supplier count ---- */ supplier = Esutil->get_supplier_count( env ); /* 5 */ /* ---- get queue length ---- */ queue = Esutil->get_queue_length( env ); /* 6 */
[イベントチャネルに接続しているアプリケーションの接続情報の取得(C++の場合)]
CosNotifyChannelAdmin::EventChannel_ptr channel; CORBA::Object_ptr util; ES::ChannelUtil_ptr Esutil; ES::ChannelUtil::ProxyDataSeq *pPxyData; CORBA::ULong consumer; CORBA::ULong supplier; CORBA::ULong queue; CosNotifyChannelAdmin::EventChannel::UtilType type; ES::ChannelUtil::ProxyKind proxy_kind; ... channel = イベントチャネルのオブジェクトリファレンスの獲得 /* 1 */ /*----- get ES_ChannelUtil interface object ----*/ type = CosNotifyChannelAdmin::EventChannel::CHANNEL_UTIL; util = channel->create_util(type,env); /* 2 */ Esutil = ES::ChannelUtil::_narrow( util ); /*----- get channel connection information -----*/ proxy_kind = ES::ChannelUtil::ALL_PROXYS; pPxyData = Esutil->get_proxys(proxy_kind, env ); /* 3 */ /* ---- get consumer count ---- */ consumer = Esutil->get_consumer_count( env ); /* 4 */ /* ---- get supplier count ---- */ supplier = Esutil->get_supplier_count( env ); /* 5 */ /* ---- get queue length ---- */ queue = Esutil->get_queue_length( env ); /* 6 */
目次
索引
![]() ![]() |