Interstage Application Server アプリケーション作成ガイド (イベントサービス編)
|
目次
索引

|
8.5 イベントチャネルのオブジェクトリファレンスの獲得
イベントチャネルのメソッドを呼び出すために、アプリケーションはイベントチャネルのオブジェクトリファレンスを獲得します。イベントチャネルのオブジェクトリファレンスは静的生成と動的生成により獲得の方法が異なります。
- 静的生成
- イベントチャネル生成コマンド(esmkchnlコマンド)によりオブジェクトリファレンスがネーミングサービスに登録されています。アプリケーションからネーミングサービスを使用して獲得します。
- 動的生成
- イベントファクトリのCREATEメソッドの復帰値としてオブジェクトリファレンスを獲得します。
静的生成によりネーミングサービスに格納されているオブジェクトリファレンスの獲得の例を以下に示します。アプリケーションはネーミングサービスにチャネル名を問い合わせ、イベントチャネルを獲得します。例ではネーミングサービスから登録名「GROUP::CHANNEL」のオブジェクトリファレンスを獲得します。
01 COPY COSNAMING-NAMINGCONTEXT IN CORBA REPLACING COSNAMING-NAMINGCONTEXT BY COS-NAMING.
01 COPY ENVIRONMENT IN CORBA REPLACING CORBA-ENVIRONMENT BY ENV.
01 COPY COSNAMING-NAME IN CORBA REPLACING COSNAMING-NAME BY NAME.
01 COPY COSNAMING-NAMECOMPONENT IN CORBA REPLACING COSNAMING-NAMECOMPONENT BY NAME-COMPONENT.
01 COPY OBJECT IN CORBA REPLACING CORBA-OBJECT BY EVENT-CH.
MOVE "GROUP::CHANNEL" TO STR-BUF
CALL "CORBA-STRING-SET" USING
IDL-ID OF NAME-COMPONENT
STRING-LENGTH
STR-BUF
MOVE " " TO STR-BUF
CALL "CORBA-STRING-SET" USING
KIND OF NAME-COMPONENT
STRING-LENGTH
STR-BUF
MOVE 1 TO SEQ-LENGTH OF NAME
MOVE 1 TO SEQ-MAXIMUM OF NAME
CALL "CORBA-SEQUENCE-COSNAMING-NAMECOMPONENT-ALLOCBUF" USING
SEQ-MAXIMUM OF NAME
SEQ-BUFFER OF NAME
CALL "COSNAMING-NAMINGCONTEXT-RESOLVE" USING
COS-NAMING
NAME
ENV
EVENT-CH
All Rights Reserved, Copyright(C) 富士通株式会社 2005