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.

}可 移 植 接 收 器 和 信 息 接 口public void register_policy_factory(int type, PolicyFactory policy_factory);ORBInitializer 类 :C++:class _VISEXPORT ORBInitializer{public:};virtual void pre_init(ORBInitInfo_ptr _info) = 0;virtual void post_init(ORBInitInfo_ptr _info) = 0;ORBInitInfo 类 :C++:class _VISEXPORT ORBInitInfo{public:virtual CORBA::StringSequence* arguments() = 0;virtual char* orb_id() = 0;virtual IOP::CodecFactory_ptr codec_factory() = 0;virtual void register_initial_reference(const char* _id,CORBA::Object_ptr _obj) = 0;virtual CORBA::Object_ptr resolve_initial_references(const char* _id) = 0;virtual void add_client_request_interceptor(ClientRequestInterceptor_ptr _interceptor) = 0;virtual void add_server_request_interceptor(ServerRequestInterceptor_ptr _interceptor) = 0;virtual void add_ior_interceptor(IORInterceptor_ptr _interceptor) = 0;virtual CORBA::ULong allocate_slot_id() = 0;virtual void register_policy_factory(CORBA::ULong _type,PolicyFactory_ptr _policy_factory) = 0;};注 册 ORBInitializer要 注 册 register_orb_initializer 可 使 用 提 供 的 全 局 方 法 ORBInitializer。 每 个 实现 接 收 器 的 服 务 提 供 一 个 ORBInitializer 的 实 例 。 要 使 用 服 务 , 应 用 需 要 :1 用 服 务 的 ORBInitialier 调 用 register_orb_initializer( ) ; 并 用Java:2 一 个 新 的 ORB 标 识 符 来 执 行 一 个 实 例 化 的 ORB_Init( ) 调 用 , 以 产 生 一 个 新 的ORB。由 于 register_orb_initializer( ) 是 一 个 全 局 方 式 , 它 将 打 破 关 于 ORB 的 程 序片 的 安 全 。 因 此 , ORBInitializers 通 过 使 用 Java ORB 属 性 在 <strong>VisiBroker</strong><strong>Edition</strong> ORB 上 注 册 , 不 使 用 调 用 register_orb_initializer( ) 的 方 式 。新 属 性 集新 属 性 的 名 称 的 形 式 为 :org.omg.PortableInterceptor.ORBInitializerClass.使 用 可 移 植 接 收 器 20-11

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

Saved successfully!

Ooh no, something went wrong!