| Interstage Application Server アプリケーション作成ガイド (イベントサービス編) |
目次
索引
![]()
|
| 第4章 アプリケーションの開発(各機能) |
イベントチャネル接続での処理手順は、イベントチャネルの作成方法を問わず共通です。イベントサービスを使用する場合、アプリケーションは最初にイベントチャネルと接続する処理を行います。アプリケーションでのイベントチャネルとの接続手順を以下の図に示します。図では、アプリケーション内のメソッドの発行とイベントチャネルとの接続状態を表しています。

C++プログラムのMixedモデルのアプリケーション作成例と処理の流れを以下に説明します。
[Mixedモデルのアプリケーション作成例(C++の場合)]
try {
...
channel = イベントチャネルのオブジェクトリファレンスの獲得 /* 1 */
supplier = channel->for_suppliers( channel ); /* 2 */
proxy_push = supplier->obtain_push_consumer( env ); /* 3 */
proxy_push->connect_push_supplier( my_obj, env ); /* 4 */
proxy_push->push( push_data, env ); /* 5 */
proxy_push->disconnect_push_consumer( env ); /* 6 */
channel->destroy( env ); /* 7 */
...
} catch( CORBA::Exception &e ) {
...
}
C++プログラムのMixedモデルのアプリケーション作成例と処理の流れを以下に説明します。
[Mixedモデルのアプリケーション作成例(C++の場合)]
try {
...
channel = イベントチャネルのオブジェクトリファレンスの獲得 /* 1 */
supplier = channel->default_supplier_admin( env ); /* 2 */
tmp_proxy = supplier->obtain_notification_push_consumer
(ctype,proxy_id, env ); /* 3 */
proxy_push = CosNotifyChannelAdmin::ProxyPushConsumer::_narrow( tmp_proxy );
proxy_push->connect_structured_push_supplier
(CosNotifyComm::StructuredPushSupplier::_nil() ,env); /* 4 */
proxy_push->push_structured_event(push_data, env ); /* 5 */
proxy_push->disconnect_structured_push_consumer( env ); /* 6 */
channel->destroy( env ); /* 7 */
...
} catch( CORBA::Exception &e ) {
...
}

イベントチャネルの接続(connect)を行ったアプリケーションは、必ずイベントチャネルからの切断(disconnect)を行ったうえ、終了するように作成してください。
4.1.1 ノーティフィケーションサービスのQoS機能の運用
4.1.2 アプリケーション異常終了時の接続情報の回収方法
4.1.3 イベントチャネルの接続情報の取得
目次
索引
![]()
|