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.

推 型 提 供 者 和 接 收 者 的 实 例上 运 行 , 并 不 断 地 将 数 据 送 到 同 一 事 件 通 道 , 以 便 PushView 接 收 数 据 。 提 供 者和 接 收 者 可 以 按 任 何 顺 序 来 启 动 。运 行 推 式 模 型 实 例Java: 要 运 行 PullModel 实 例 , 在 提 示 符 下 输 入 :prompt> vbj -DORBInitRef=EventService=file: PullModel选 择 e 以 限 制 到 事 件 通 道 ; 选 择 p 以 从 事 件 通 道 取 得 推 型 接 收 者 的 一 个 代 理 ; 选择 m 以 将 PullModel 实 例 化 ; 选 择 c 以 连 接 事 件 通 道 ; 选 择 d 以 断 开 ; 选 择 q 以退 出 。要 运 行 PullView, 在 提 示 符 下 输 入 :prompt>vbj -DORBInitRef=EventService=file: PullView选 择 e 以 限 制 到 事 件 通 道 ; 选 择 p 以 从 事 件 通 道 取 得 推 型 提 供 者 的 一 个 代 理 ; 选 择m 以 将 PushView 实 例 化 ; 选 择 c 以 连 接 事 件 通 道 。 然 后 选 择 a 以 异 步 拉 数 据 或 选择 s 以 同 时 拉 数 据 。 要 退 出 时 , 选 择 d 以 断 开 , 再 选 择 q 以 退 出 。要 运 行 这 个 实 例 , 一 个 “ 推 ” 或 “ 拉 ” 类 型 的 提 供 者 必 须 正 在 另 外 一 个 终 端 上 运行 , 并 不 断 地 将 数 据 送 到 同 一 事 件 通 道 , 以 便 PullView 接 收 数 据 。 提 供 者 和 接 收者 可 以 按 任 何 顺 序 来 启 动 。PullSupplyJava:PullSupply 类 是 从 PullSupplierPOA 类 派 生 的 , 它 可 以 为 main、 pull 和 try_pull方 法 提 供 实 现 。 如 以 下 所 示 的 pull 方 法 返 回 编 号 的 “hello” 消 息 。 try_pull 方 法始 终 将 hasEvent 标 志 设 置 为 true, 并 调 用 pull 方 法 以 提 供 消 息 。 一 旦 PullSupply对 象 连 接 到 EventChannel, 这 些 方 法 将 被 通 道 用 以 从 提 供 者 拉 数 据 。如 下 所 示 的 main 方 法 执 行 常 规 的 <strong>VisiBroker</strong> ORB 和 POA 创 建 , 连 接 指 定 的EventChannel, 从 EventChannel 取 得 ProxyPullConsumer , 实 例 化 PullSupply 对象 , 激 活 POA 上 的 PullSupply 对 象 , 然 后 将 该 拉 型 提 供 者 连 接 到 代 理 拉 型 接收 者 。执 行 PullSupply在 编 译 PullSupply.java 和 启 动 事 件 服 务 之 后 ( 参 见 第 15-22 页 " 进 程 内 事 件 通 道(Java) ", 您 可 以 用 以 下 命 令 来 执 行 提 供 者 :vbj -DORBInitRef = = file: PullSupplyPull 和 try_pull 方 法 的 实 现 :// PullSupply.javaimport org.omg.CosEventComm.*;import org.omg.CosEventChannelAdmin.*;import org.omg.PortableServer.*;public class PullSupply extends PullSupplierPOA {private POA _myPOA;private PullConsumer _pullConsumer;private int _counter;PullSupply(PullConsumer pullConsumer, POA myPOA) {使 用 事 件 服 务 15-17

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

Saved successfully!

Ooh no, something went wrong!