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.

集 群 标 准集 群 和 ClusterManager 接 口虽 然 集 群 与 命 名 上 下 文 非 常 相 似 , 但 是 上 下 文 中 找 到 的 一 些 标 准 方 法 是 与 集 群 无 关的 。 例 如 , 将 命 名 上 下 文 限 制 到 集 群 没 有 意 义 , 因 为 集 群 应 该 包 含 一 组 对 象 引 用 ,而 不 是 命 名 上 下 文 。 但 是 , 集 群 接 口 与 NamingContext 接 口 共 享 许 多 方 法 , 如bind、 rebind、 resolve、 unbind 和 list。 该 公 共 操 作 组 主 要 与 组 中 的 操 作 有 关 。唯 一 与 集 群 有 关 的 操 作 是 pick。 两 者 之 间 的 另 外 一 个 重 大 差 别 是 集 群 不 支 持 混 合名 。 它 仅 可 以 使 用 单 一 成 分 的 名 称 , 这 是 因 为 集 群 没 有 层 次 型 的 目 录 结 构 , 而 它 将其 对 象 引 用 存 储 在 一 个 平 面 结 构 中 。集 群 接 口 的 IDL 规 范CosNamingExt module {typedef sequence ClusterList;enum ClusterNotFoundReason {missing_node,not_context,not_cluster_context};exception ClusterNotFound {ClusterNotFoundReason why;CosNaming::Name rest_of_name;};exception Empty {};interface Cluster {Object select() raises(Empty);void bind(in CosNaming::NameComponent n, in Object obj)raises(CosNaming::NamingContext::CannotProceed,CosNaming::NamingContext::InvalidName,CosNaming::NamingContext::AlreadyBound);void rebind(in CosNaming::NameComponent n, in Object obj)raises(CosNaming::NamingContext::CannotProceed,CosNaming::NamingContext::InvalidName);Object resolve(in CosNaming::NameComponent n)raises(CosNaming::NamingContext::NotFound,CosNaming::NamingContext::CannotProceed,CosNaming::NamingContext::InvalidName);void unbind(in CosNaming::NameComponent n)raises(CosNaming::NamingContext::NotFound,CosNaming::NamingContext::CannotProceed,CosNaming::NamingContext::InvalidName);void destroy()raises(CosNaming::NamingContext::NotEmpty);void list(in unsigned long how_many,out CosNaming::BindingList bl,out CosNaming::BindingIterator bi);};ClusterManager 接 口 的 IDL 规 范CosNamingExt module {interface ClusterManager使 用 命 名 服 务 14-19

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

Saved successfully!

Ooh no, something went wrong!