イベントチャネルに接続する際、自身のオブジェクトを登録します。このオブジェクトの生成方法(コンシューマのオブジェクトの作成例)を以下に示します。
イベントサービスの場合
[Pushモデルのコンシューマのオブジェクト]
_tmpObj = Orb.resolve_initial_references( "RootPOA" ); POA rootPOA = POAHelper.narrow( _tmpObj ); Servant svt = new UserServant(); rootPOA.activate_object( svt ); _tmpObj = rootPOA.servant_to_reference( svt ); PushConsumer my_obj = PushConsumerHelper.narrow( _tmpObj );
ノーティフィケーションサービスの場合
[Mixedモデルのコンシューマのオブジェクト]
_tmpObj = Orb.resolve_initial_references( "RootPOA" ); POA rootPOA = POAHelper.narrow( _tmpObj ); Servant svt = new UserServant(); rootPOA.activate_object( svt ); _tmpObj = rootPOA.servant_to_reference( svt ); PullConsumer my_obj = PullConsumerHelper.narrow( _tmpObj );
オブジェクトは、POA.servant_to_referenceまたはPOA.create_referenceなどで作成します。
各アプリケーションが実装するインタフェースを以下に示します。
イベントサービスの場合
通信モデル | サプライヤ | コンシューマ |
---|---|---|
Push | org.omg.CosEventComm.PushSupplierPOA | org.omg.CosEventComm.PushConsumerPOA |
Pull | org.omg.CosEventComm.PullSupplierPOA | org.omg.CosEventComm.PullConsumerPOA |
Mixed | org.omg.CosEventComm.PushSupplierPOA | org.omg.CosEventComm.PullConsumerPOA |
ノーティフィケーションサービスの場合
通信モデル | サプライヤ | コンシューマ |
---|---|---|
Mixed | org.omg.CosEventComm.PushSupplierPOA | org.omg.CosEventComm.PullConsumerPOA |
Mixed | org.omg.CosNotifyComm.StructuredPushSupplierPOA | org.omg.CosNotifyComm.StructuredPullConsumerPOA |