<div> JavaScript is disabled on your browser.
Skip navigation links
Java™ Platform
Standard Ed. 8

Package org.omg.PortableServer

为使您的应用程序跨多厂商的球体便携式服务器端提供的类和接口。

See: 描述

Package org.omg.PortableServer Description

为使您的应用程序跨多厂商的球体便携式服务器端提供的类和接口。

在java中,便携式对象适配器(POA)为基础的动态框架接口(DSI)从标准DynamicImplementation类继承人,继承自Servant类。当地Servant型的POA PortableServer模块定义。在java中,该Servant类型映射到java org.omg.PortableServer.Servant类。它作为所有服务POA实现的基类,提供多种方法可以被应用程序调用,以及方法的调用POA本身可以被用户控制公务员行为方面。

包装规格

对于精确的名单支持官方OMG规范的java [商标]平台部分,标准版6符合,看到Official Specifications for CORBA support in Java[tm] SE 6

早熟的相关接口

PortableServer模块定义了以下POA相关接口:

此外,POA定义Servant原生型。

操作类

上面列出的每个接口都有一个相关的Operations接口。的Operations接口由idlj编译器生成的,包含在其相关的接口定义的方法签名。的Operations接口可以由客户端和服务器端的访问,而其相关的接口只能被客户。

值类

类后缀为 PolicyValue提供用于 create_POA叫值,设置为POA的政策。看下面的 sample code为示范。 PolicyValue文件包括以下内容:

辅助类

辅助类,它是所有用户定义的类型在OMG IDL接口生成,供给静态方法需要操纵这些类型。这是一个辅助类,应用程序只使用一个方法:方法的narrow。只有java接口映射到IDL接口将有一个辅助类,包括narrow方法,所以在PortableServer包,只有下面的类有一个narrow方法:

早熟禾类

早熟禾类用于实现ServantActivatorServantLocator

例外

ForwardRequest异常指示的圆球,它负责提供当前请求和随后的ForwardRequest请求对象在异常的forward_reference成员表示。

应用程序程序员实现的接口

PortableServer确实对用户是透明的。其结果是,程序员将只使用上面提到的几个接口。其余的接口将由ORB实现提供。应用程序程序员感兴趣的接口如下:

org.omg.PortableServer.ServantLocatorPackage

这个包通过Cookie类型作为out参数提供CookieHolder类。的CookieHolder类遵循完全相同的模式作为基本类型其他架类。

相关文件

对于java IDL的概述,请参阅:

  • Java IDL home page

    示例代码

    例如服务器代码

    进口javax.naming.initialcontext;进口javax.naming.context;进口javax.rmi.portableremoteobject;进口com.sun.corba.se.impl.poa.poaorb;进口org。OMG。portableserver *;导入java。利用*;进口org。OMG的CORBA。*;进口javax.rmi.corba.stub;进口javax.rmi.corba.util;公共课helloserver {公共helloserver(string [] args){尝试{getproperties()性质P =系统;/ / p.put(“org。OMG的CORBA。ORBClass”、“COM。太阳。CORBA。EE。内部。早熟。poaorb”);球球=球体。init(args,P);早熟rootpoa =(POA)的球体。resolve_initial_references(“RootPOA”);政策[ ] tpolicy =新政策[ 3 ];tpolicy [ 0 ] = rootpoa create_lifespan_policy(。lifespanpolicyvalue.transient);tpolicy [ 1 ] = rootpoa create_request_processing_policy(。requestprocessingpolicyvalue.use_active_object_map_only);tpolicy [ 2 ] = rootpoa create_servant_retention_policy(。servantretentionpolicyvalue保留);POA TPOA = rootpoa。create_poa(“mytransientpoa”,空,tpolicy);字符串对象id =“myobjectid”;字节[] = ObjectId getbytes() OID;org.omg.corba.object obj = TPOA。create_reference_with_id(OID,新的_helloimpl_tie()。_all_interfaces(TPOA,OID)[ 0 ]);hellointerface helloref =(hellointerface portableremoteobject窄()。obj,HelloInterface.class);背景initialnamingcontext =新initialcontext();initialnamingcontext。绑定(“helloservice”,helloref);系统的输入(“你好服务器:准备好…”);run()宝珠;}捕获(异常E)系统的输入(“麻烦:“+ E);E. printstacktrace();}}public static void main(String参数[ ]){新的helloserver(args);}}

  • 从以下版本开始:
    1.4
    Skip navigation links
    Java™ Platform
    Standard Ed. 8

    Submit a bug or feature
    For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
    Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.

    本帮助文档是使用 《百度翻译》翻译,请与英文版配合使用 by--QQ:654638585