12.07.2015 Views

VisiBroker Edition

VisiBroker Edition

VisiBroker Edition

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

事 件 监 听 器本 操 作 由 <strong>VisiBroker</strong> ORB 回 调 以 推 动 连 接 关 闭 事 件 。 <strong>VisiBroker</strong> ORB 将 客户 连 接 信 息 填 入 ConnInfo 信 息 参 数 , 并 将 该 值 传 入 回 调 操 作 。服 务 器 端 应 用 负 责 实 现 ConnEventListener 接 口 被 推 到 监 听 器 的 事 件 的 处 理 。EventQueueManager 接 口EventQueueManager 接 口 被 服 务 器 端 实 现 用 作 登 记 事 件 监 听 器 的 句 柄 。 该 接 口 定 义如 下 三 个 操 作 :● void register_listener (in EventListener listener, in EventType type)本 操 作 用 于 使 用 指 定 的 事 件 类 型 来 登 记 事 件 监 听 器 。● EventListeners get_listeners (in EventType type)本 操 作 返 回 具 有 指 定 类 型 的 注 册 事 件 监 听 器 的 列 表 。● void unregister_listener (in EventListener listener, in EventType type)本 操 作 删 除 一 个 先 前 注 册 的 具 有 指 定 类 型 的 监 听 器 。如 何 返 回 EventQueueManager?EventQueueManager 对 象 在 ORB 初 始 化 后 创 建 。 服 务 器 端 实 现 通 过 下 列 代 码返 回 EventQueueManager 对 象 引 用 :C++: CORBA::Object *object =orb->resolve_initial_references("<strong>VisiBroker</strong>InterceptorControl");interceptor::InterceptorManagerControl_var control =interceptor::InterceptorManagerControl::_narrow(object);interceptor::InterceptorManager_var manager =control->get_manager("EventQueueManager");EventQueue::EventQueueManager_var eq_mgr =EventQueue::EventQueueManager::_narrow(manager);以 下 是 Java 下 的 EventQueueManager:Java: com.inprise.vbroker.interceptor.InterceptorManagerControl control =com.inprise.vbroker.interceptor.InterceptorManagerControlHelper.narrow(orb.resolve_initial_references("<strong>VisiBroker</strong>InterceptorControl"));EventQueueManager manager =(EventQueueManager)control.get_manager("EventQueue");EventListener theListener = ...manager.register_listeners(theListener);代 码 示 例本 节 包 含 几 个 用 于 注 册 EvenListener 和 实 现 连 接 EventListener 的 Java 和 C++代 码 示 例 。事 件 队 列 23-3

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!