ページの先頭行へ戻る
Interstage Application Server アプリケーション作成ガイド(イベントサービス編)

8.6 コンシューマとサプライヤのオブジェクトリファレンスの獲得

  イベントチャネルに接続する際、自身のオブジェクトを登録します。このオブジェクトの生成方法(Pushモデルのコンシューマのオブジェクトの作成例)を以下に示します。


01 COPY ORB IN CORBA REPLACING CORBA-ORB                             BY ORB.
01 COPY BOA IN CORBA REPLACING CORBA-BOA                             BY BOA. 
01 COPY REPOSITORYID IN CORBA REPLACING CORBA-REPOSITORYID           BY INTF-REP. 
01 COPY INTERFACEDEF IN CORBA REPLACING CORBA-INTERFACEDEF           BY INTF. 
01 COPY IMPLEMENTATIONDEF IN CORBA REPLACING CORBA-IMPLEMENTATIONDEF BY IMPL. 
01 COPY REFERENCEDATA IN CORBA REPLACING CORBA-REFERENCEDATA         BY REF. 
01 COPY OBJECT IN CORBA REPLACING CORBA-OBJECT                       BY MY-OBJ. 

     MOVE FUNCTION LENG (CORBA-ORB-OBJECTID-LIGHTINTFR) TO STRING-LENGTH
     CALL "CORBA-STRING-SET" USING
           TEMP-BUF
           STRING-LENGTH
           CORBA-ORB-OBJECTID-LIGHTINTFR. 
     CALL "CORBA-ORB-RESOLVE-INITIAL-REFERENCES" USING
           ORB
           TEMP-BUF
           ENV
           INTF-REP. 

     MOVE FUNCTION LENG (INTF-COSEVENTCOMM-PUSHCONSUMER) TO STRING-LENGTH
     CALL "CORBA-STRING-SET" USING
           TEMP-BUF
           STRING-LENGTH
           INTF-COSEVENTCOMM-PUSHCONSUMER
     CALL "CORBA-REPOSITORY-LOOKUP-ID" USING
           INTF-REP
           TEMP-BUF
           ENV
           INTF. 

     MOVE 0 TO SEQ-LENGTH OF REF. 
     MOVE 0 TO SEQ-MAXIMUM OF REF. 
     SET CORBA-OCTET OF REF TO NULL. 

     MOVE FUNCTION ADDR(REF) TO REF-P. 
     CALL "CORBA-BOA-CREATE" USING
           BOA
           REF-P
           INTF
           IMPL
           ENV
           MY-OBJ.

  オブジェクトは、CORBA-BOA-CREATEで作成します。CORBA-BOA-CREATEに指定するパラメタのインタフェース情報には、自身が実装するインタフェースリポジトリID(この例ではINTF-COSEVENTCOMM-PUSHCONSUMER)を、インプリメンテーション情報には、自身のインプリメンテーションリポジトリIDを指定します。

  各アプリケーションが実装するインタフェースを以下に示します。アプリケーションは、CORBA-REPOSITORY-LOOKUP-IDに、インタフェースリポジトリIDを以下のパラメタを指定して獲得します。


通信モデル

サプライヤ

コンシューマ

Push

INTF-COSEVENTCOMM-PUSHSUPPLIER

INTF-COSEVENTCOMM-PUSHCONSUMER

Pull

INTF-COSEVENTCOMM-PULLSUPPLIER

INTF-COSEVENTCOMM-PULLCONSUMER

Mixed

INTF-COSEVENTCOMM-PUSHSUPPLIER

INTF-COSEVENTCOMM-PULLCONSUMER

注意

  ノーティフィケーションサービスでは、Mixedモデルのコンシューマのオブジェクトは登録できません。