最佳答案:
org.omg.PortableServer是一个Java软件包。
详情介绍
org.omg.PortableServer是一个Java软件包。
- 外文名
- org.omg.PortableServer
- 类型
- 软件包
- 包规范
- Java 2 平台
- 相关文档
- Java IDL 主页
org.omg.PortableServer软件包
提供一些类和接口,用来生成跨多个供应商 ORB 的可移植应用程序的服务器端。
在 Java 中,基于可移植对象适配器(Portable Object Adaptor,POA)的动态框架接口(Dynamic Skeleton Interface,DSI)servant 继承自标准 DynamicImplementation 类,而该类继承自 Servant 类。本机 Servant 类型由 POA 的 PortableServer 模块定义。在 Java 中,Servant 类型被映射到 Java org.omg.PortableServer.Servant 类。它充当所有 POA servant 实现的基类,提供许多可由应用程序员调用的方法,以及可由 POA 本身调用(也可由用户重写)以控制 servant 行为各方面的方法。
org.omg.PortableServer包规范
有关 Java 2 平台、标准版 v.1.4 遵守的官方 OMG 规范的受支持部分的明确列表,请参阅 Official Specifications for CORBA support in J2SE 1.4。
org.omg.PortableServer接口摘要
AdapterActivator | 一个适配器激活器,它提供具有随需创建子 POA 功能的 POA。 |
AdapterActivatorOperations | 一个适配器激活器,它提供具有随需创建子 POA 功能的 POA。 |
Current | 从 CORBA::Current 派生的 PortableServer::Current 接口,它提供一些方法实现,这些实现能够访问调用方法的对象的身份。 |
CurrentOperations | 从 CORBA::Current 中派生的 PortableServer::Current 接口,它提供一些能够访问调用方法的对象身份的方法实现。 |
ID_ASSIGNMENT_POLICY_ID | org/omg/PortableServer/ID_ASSIGNMENT_POLICY_ID.java。 |
ID_UNIQUENESS_POLICY_ID | org/omg/PortableServer/ID_UNIQUENESS_POLICY_ID.java。 |
IdAssignmentPolicy | IdAssignmentPolicy 指定创建的 POA 中的 Object Id 是由应用程序还是由 ORB 生成的。 |
IdAssignmentPolicyOperations | IdAssignmentPolicy 指定创建的 POA 中的 Object Id 是由应用程序还是由 ORB 生成的。 |
IdUniquenessPolicy | IdUniquenessPolicy 指定已创建的 POA 中激活的 servant 是否必须具有唯一的对象身份。 |
IdUniquenessPolicyOperations | IdUniquenessPolicy 指定已创建的 POA 中激活的 servant 是否必须具有唯一的对象身份。 |
IMPLICIT_ACTIVATION_POLICY_ID | org/omg/PortableServer/IMPLICIT_ACTIVATION_POLICY_ID.java。 |
ImplicitActivationPolicy | 此策略指定已创建的 POA 中是否支持隐式激活 servant。 |
ImplicitActivationPolicyOperations | 此策略指定已创建的 POA 中是否支持隐式激活 servant。 |
LIFESPAN_POLICY_ID | org/omg/PortableServer/LIFESPAN_POLICY_ID.java。 |
LifespanPolicy | LifespanPolicy 指定已创建 POA 中实现的对象的生存期。 |
LifespanPolicyOperations | LifespanPolicy 指定已创建 POA 中实现的对象的生存期。 |
POA | POA 对象管理对象集合的实现。 |
POAManager | 每个 POA 对象都有一个关联的 POAManager 对象。 |
POAManagerOperations | 每个 POA 对象具有一个关联的 POAManager 对象。 |
POAOperations | POA 对象管理对象集合的实现。 |
REQUEST_PROCESSING_POLICY_ID | org/omg/PortableServer/REQUEST_PROCESSING_POLICY_ID.java。 |
RequestProcessingPolicy | 此策略指定已创建的 POA 处理请求的方式。 |
RequestProcessingPolicyOperations | 此策略指定已创建的 POA 处理请求的方式。 |
SERVANT_RETENTION_POLICY_ID | org/omg/PortableServer/SERVANT_RETENTION_POLICY_ID.java。 |
ServantActivator | POA 具有 RETAIN 策略时使用 ServantActivator 这种 servant 管理器。 |
ServantActivatorOperations | POA 具有 RETAIN 策略时使用 ServantActivator 这种 servant 管理器。 |
ServantLocator | 当 POA 具有 NON_RETAIN 策略时,使用 ServantLocator 这种 servant 管理器。 |
ServantLocatorOperations | 当 POA 具有 NON_RETAIN 策略时,使用 ServantLocator 这种 servant 管理器。 |
ServantManager | servant 管理器提供一个 POA,该 POA 在接受以非激活的对象为目标的请求时能够根据需要激活对象。 |
ServantManagerOperations | servant 管理器提供一个 POA,该 POA 在接受以非激活的对象为目标的请求时能够根据需要激活对象。 |
ServantRetentionPolicy | 此策略指定已创建的 POA 是否在 Active Object Map 中保留激活的 servant。 |
ServantRetentionPolicyOperations | 此策略指定已创建的 POA 是否在 Active Object Map 中保留激活的 servant。 |
THREAD_POLICY_ID | org/omg/PortableServer/THREAD_POLICY_ID.java。 |
ThreadPolicy | ThreadPolicy 指定已创建的 POA 所使用的线程模型 (threading model)。 |
ThreadPolicyOperations | ThreadPolicy 指定与已创建的 POA 一起使用的线程模型 (threading model)。 |
org.omg.PortableServer类摘要
_ServantActivatorStub | 当 POA 具有 RETAIN 策略时,它使用 ServantActivator 这种 servant 管理器。 |
_ServantLocatorStub | POA 具有 NON_RETAIN 策略时将使用 ServantLocator 这种 servant 管理器。 |
CurrentHelper | 从 CORBA::Current 派生的 PortableServer::Current 接口,它提供一些方法实现,这些实现能够访问调用方法的对象的身份。 |
DynamicImplementation | 允许动态处理对象调用。 |
ForwardRequestHelper | org/omg/PortableServer/ForwardRequestHelper.java。 |
IdAssignmentPolicyValue | IdAssignmentPolicyValue 可以具有以下值。 |
IdUniquenessPolicyValue | IdUniquenessPolicyValue 可以具有以下值。 |
ImplicitActivationPolicyValue | ImplicitActivationPolicyValue 具有以下语义。 |
LifespanPolicyValue | LifespanPolicyValue 可以具有以下值。 |
POAHelper | POA 对象管理对象集合的实现。 |
RequestProcessingPolicyValue | RequestProcessingPolicyValue 可以具有以下值。 |
Servant | 定义本机 Servant 类型。 |
ServantActivatorHelper | POA 具有 RETAIN 策略时使用 ServantActivator 这种 servant 管理器。 |
ServantActivatorPOA | POA 具有 RETAIN 策略时使用 ServantActivator 这种 servant 管理器。 |
ServantLocatorHelper | POA 具有 NON_RETAIN 策略时使用 ServantLocator 这种 servant 管理器。 |
ServantLocatorPOA | POA 具有 NON_RETAIN 策略时使用 ServantLocator 这种 servant 管理器。 |
ServantRetentionPolicyValue | ServantRetentionPolicyValue 可以具有以下值。 |
ThreadPolicyValue | ThreadPolicyValue 可以具有以下值。 |
org.omg.PortableServer异常摘要
ForwardRequest | org/omg/PortableServer/ForwardRequest.java。 |
org.omg.PortableServer与 POA 相关的接口
PortableServer 模块定义以下与 POA 相关的接口:
POA
POAManager
ServantManager
ServantActivator
ServantLocator
AdapterActivator
ThreadPolicy
LifespanPolicy
IdUniquenessPolicy
IdAssignmentPolicy
ImplicitActivationPolicy
ServantRetentionPolicy
RequestProcessingPolicy
Current
此外,POA 还定义 Servant 本机类型。
org.omg.PortableServer操作类
上文列出的每个接口都有一个关联的 Operations 接口。Operations 接口由 idlj 编译器生成,其中包含一些方法签名,用于在与其关联的接口中定义的方法。Operations 接口可以通过客户端和服务器访问,而其关联的接口只能通过客户端调用。
值类
以后缀 PolicyValue 结尾的类提供了 create_POA 调用所使用的值,该调用可设置 POA 的策略。参见以下用来示范的样本代码。PolicyValue 文件包括以下内容:
IdAssignmentPolicyValue
IdUniquenessPolicyValue
ImplicitActivationPolicyValue
LifespanPolicyValue
RequestProcessingPolicyValue
ServantRetentionPolicyValue
ThreadPolicyValue
org.omg.PortableServerHelper 类
Helper 类是为 OMG IDL 接口中所有用户定义类型生成的,提供操作这些类型所需的静态方法。Helper 类中只有一种供应用程序员使用的方法。narrow 方法。只有 IDL 接口所映射的 Java 接口才有包含 narrow 方法的 helper 类,因此在 PortableServer 包中,只有以下类才具有 narrow 方法:
ForwardRequestHelper
ServantActivatorHelper
ServantLocatorHelper
org.omg.PortableServerPOA 类
POA 类用于实现 ServantActivator 或 ServantLocator。
org.omg.PortableServer异常
ForwardRequest 异常指示 ORB 负责将当前请求和后续 ForwardRequest 请求传递给异常的 forward_reference 成员所表示的对象。
应用程序员所实现的接口
PortableServer 执行的大部分操作对用户是透明的。因此程序员将只能使用一小部分上述接口。剩余的接口将由 ORB 实现提供。应用程序员所需的接口如下:
AdapterActivator
适配器激活器与 POA 关联。适配器激活器提供具有随需创建子 POA 功能的 POA。产生这一需求可能是接受指定子 POA(或其中一个子 POA)的请求所带来的副作用,调用 find_POA 时将 activate 参数值设置为 TRUE 也需要创建子 POA。创建所有所需 POA 的应用服务器在刚开始执行时不需要使用或提供适配器激活器;只有在请求处理期间需要创建 POA 时才有必要这样做。
ServantLocator
当 POA 具有 NON_RETAIN 策略时,使用 ServantLocator 这种 servant 管理器。
ServantActivator
当 POA 具有 RETAIN 策略时,使用 ServantActivator 这种 servant 管理器。
org.omg.PortableServer.ServantLocatorPackage 包
此包提供一个 cookieHolder 类,将 cookie 类型作为 out 参数传递。cookieHolder 类与其他基本类型的 holder 类完全一样。
org.omg.PortableServer相关文档
有关 Java IDL 概述,请参见:
Java IDL 主页。
org.omg.PortableServer代码示例
实例服务器代码
import javax.naming.InitialContext;
import javax.naming.Context;
import javax.rmi.PortableRemoteObject ;
import com.sun.corba.se.impl.poa.POAORB;
import org.omg.PortableServer.*;
import java.util.*;
import org.omg.CORBA.*;
import javax.rmi.CORBA.Stub;
import javax.rmi.CORBA.Util;
public class HelloServer {
public HelloServer(String args) {
try {
Properties p = System.getProperties();
// p.put("org.omg.CORBA.ORBClass", "com.sun.corba.ee.internal.POA.POAORB");
ORB orb = ORB.init( args, p );
POA rootPOA = (POA)orb.resolve_initial_references("RootPOA");
Policy tpolicy = new Policy;
tpolicy = rootPOA.create_lifespan_policy(
LifespanPolicyValue.TRANSIENT );
tpolicy = rootPOA.create_request_processing_policy(
RequestProcessingPolicyValue.USE_ACTIVE_OBJECT_MAP_onLY );
tpolicy = rootPOA.create_servant_retention_policy(
ServantRetentionPolicyValue.RETAIN);
POA tpoa = rootPOA.create_POA("MyTransientPOA", null, tpolicy);
String ObjectId = "MyObjectId";
byte oid = ObjectId.getBytes();
org.omg.CORBA.Object obj = tpoa.create_reference_with_id(oid,
new _HelloImpl_Tie()._all_interfaces(tpoa, oid));
HelloInterface helloRef = (HelloInterface)PortableRemoteObject.narrow(
obj, HelloInterface.class );
Context initialNamingContext = new InitialContext();
initialNamingContext.rebind("HelloService", helloRef);
System.out.println("Hello Server: Ready...");
orb.run();
} catch (Exception e) {
System.out.println("Trouble:" + e);
e.printStackTrace();
}
}
public static void main(String args) {
new HelloServer( args );
}
}
从以下版本开始:
1.4
免责声明:本平台仅供信息发布交流之途,请谨慎判断信息真伪。如遇虚假诈骗信息,请立即举报
举报