public abstract class ORB extends Object
ORB类还提供了“可插拔ORB实现”API,允许使用另一个供应商的ORB实现。 
       ORB使CORBA对象能够通过连接请求(客户端)与对象处理请求(服务器)的对象进行通信。
 封装通用CORBA功能的ORB类执行以下操作:(请注意,包含ORB类中大多数方法的项目5和6通常与Dynamic Invocation Interface (DII)和Dynamic Skeleton Interface (DSI)一起使用。接口可能直接由开发人员使用,但最常见的是它们由ORB在内部使用,一般程序员不会看到。) 
resolve_initial_references获取诸如NameService之类的服务的初始对象resolve_initial_references TypeCode Any NamedValue Context Environment NVList )包含这些对象  ORB类可用于获取对网络上任何地方实现的对象的引用。 
 通过初始化本身到一个应用程序或小程序能够访问到CORBA环境ORB使用三一种init方法。 这三种方法中的两种使用下表所示的属性(名称与值的关联)。 
init()   
        这些性能使不同厂商的ORB执行被“插入”。 
当创建ORB实例时,使用以下标准搜索顺序找到ORB实现的类名:
 请注意,Java IDL为全功能ORB和Singleton ORB提供了默认实现。 当方法init没有给出参数时,返回默认的Singleton ORB。 当方法init被给定参数但没有指定ORB类时,返回Java IDL ORB实现。 
 以下代码段创建一个使用默认ORB Singleton初始化的ORB对象。 这个ORB有一个有限的实现,以防止恶意小程序做任何事情超出创建类型代码。 它被称为单例,因为整个虚拟机只有一个实例。 
  ORB orb = ORB.init();  
        以下代码片段为应用程序创建一个ORB对象。 参数args表示提供给应用程序的main方法的参数。 由于该属性将ORB类指定为“SomeORBImplementation”,所以新ORB将被该ORB实现初始化。 如果p已经为空,并且参数没有指定ORB类,则新的ORB将被初始化为默认的Java IDL实现。 
  Properties p = new Properties();
    p.put("org.omg.CORBA.ORBClass", "SomeORBImplementation");
    ORB orb = ORB.init(args, p);  
        以下代码片段为作为第一个参数提供的小程序创建一个ORB对象。 如果给定的小程序没有指定ORB类,新的ORB将使用默认的Java IDL实现进行初始化。 
  ORB orb = ORB.init(myApplet, null);  
       应用程序或小程序可以在一个或多个ORB中进行初始化。 ORB初始化是对CORBA世界的引导调用。
| Constructor and Description | 
|---|
| ORB() | 
| Modifier and Type | Method and Description | 
|---|---|
| void | connect(Object obj)
              将给定的服务对象(作为服务器实现类的实例的Java对象)连接到ORB。 
             | 
| TypeCode | create_abstract_interface_tc(String id, String name)
              为IDL抽象接口创建一个 
              TypeCode对象。 | 
| abstract TypeCode | create_alias_tc(String id, String name, TypeCode original_type)
              创建一个表示IDL 
              alias(typedef)的TypeCode对象。 | 
| abstract Any | create_any()
              创建一个IDL 
              Any对象,Any对象包含一个Typecode对象,其对象的kind字段设置为TCKind.tc_null。 | 
| abstract TypeCode | create_array_tc(int length, TypeCode element_type)
              创建一个表示IDL 
              array的TypeCode对象。 | 
| DynAny | create_basic_dyn_any(TypeCode type) 
             已弃用 
               
              使用新的DynAnyFactory API 
              | 
| abstract ContextList | create_context_list()
              创建一个空的 
              ContextList对象。 | 
| DynAny | create_dyn_any(Any value) 
             已弃用 
               
              使用新的DynAnyFactory API 
              | 
| DynArray | create_dyn_array(TypeCode type) 
             已弃用 
               
              使用新的DynAnyFactory API 
              | 
| DynEnum | create_dyn_enum(TypeCode type) 
             已弃用 
               
              使用新的DynAnyFactory API 
              | 
| DynSequence | create_dyn_sequence(TypeCode type) 
             已弃用 
               
              使用新的DynAnyFactory API 
              | 
| DynStruct | create_dyn_struct(TypeCode type) 
             已弃用 
               
              使用新的DynAnyFactory API 
              | 
| DynUnion | create_dyn_union(TypeCode type) 
             已弃用 
               
              使用新的DynAnyFactory API 
              | 
| abstract TypeCode | create_enum_tc(String id, String name, String[] members)
              创建一个表示IDL 
              枚举的TypeCode对象。 | 
| abstract Environment | create_environment()
              创建一个 
              Environment对象。 | 
| abstract ExceptionList | create_exception_list()
              创建一个空的 
              ExceptionList对象。 | 
| abstract TypeCode | create_exception_tc(String id, String name, StructMember[] members)
              创建一个 
              TypeCodeIDLexception的TypeCode对象。 | 
| TypeCode | create_fixed_tc(short digits, short scale)
              为IDL固定类型创建一个 
              TypeCode对象。 | 
| abstract TypeCode | create_interface_tc(String id, String name)
              创建 
              TypeCodeIDLinterface的TypeCode对象。 | 
| abstract NVList | create_list(int count)
              分配一个 
              NVList与(可能)足够的空间指定数量的NamedValue对象。 | 
| abstract NamedValue | create_named_value(String s, Any any, int flags)
              使用给定的名称,值和参数模式标志创建一个 
              NamedValue对象。 | 
| TypeCode | create_native_tc(String id, String name)
              为IDL本机类型创建一个 
              TypeCode对象。 | 
| NVList | create_operation_list(Object oper)
              创建一个 
              NVList它使用给定OperationDef对象中NVList操作的参数描述进行OperationDef。 | 
| abstract OutputStream | create_output_stream()
              创建一个新的 
              org.omg.CORBA.portable.OutputStream,在方法调用期间可以org.omg.CORBA.portable.OutputStream入IDL方法参数。 | 
| Policy | create_policy(int type, Any val)
              可以调用以创建具有指定初始状态的特定类型的策略对象的新实例。 
             | 
| abstract TypeCode | create_recursive_sequence_tc(int bound, int offset) 
             已弃用 
               
              使用create_recursive_tc和create_sequence_tc的组合 
              | 
| TypeCode | create_recursive_tc(String id)
              在创建包含递归的TypeCode的过程中,创建一个递归 
              TypeCode对象,该对象用作具体TypeCode的占位符。 | 
| abstract TypeCode | create_sequence_tc(int bound, TypeCode element_type)
              创建 
              TypeCodeIDLsequence的TypeCode对象。 | 
| abstract TypeCode | create_string_tc(int bound)
              创建 
              TypeCode表示有界IDL对象string。 | 
| abstract TypeCode | create_struct_tc(String id, String name, StructMember[] members)
              创建一个 
              TypeCodeIDLstruct的TypeCode对象。 | 
| abstract TypeCode | create_union_tc(String id, String name, TypeCode discriminator_type, UnionMember[] members)
              创建 
              TypeCodeIDLunion的TypeCode对象。 | 
| TypeCode | create_value_box_tc(String id, String name, TypeCode boxed_type)
              为IDL值框创建一个 
              TypeCode对象。 | 
| TypeCode | create_value_tc(String id, String name, short type_modifier, TypeCode concrete_base, ValueMember[] members)
              为IDL值类型创建一个 
              TypeCode对象。 | 
| abstract TypeCode | create_wstring_tc(int bound)
              创建一个 
              TypeCode有界IDLwstring(宽字符串)的TypeCode对象。 | 
| void | destroy()
              破坏ORB,以便资源可以回收。 
             | 
| void | disconnect(Object obj)
              断开给定的servant对象与ORB的连接。 
             | 
| Current | get_current() 
             已弃用 
               
              使用 resolve_initial_references。 | 
| abstract Context | get_default_context()
              获取默认的 
              Context对象。 | 
| abstract Request | get_next_response()
              获取接收到响应的下一个 
              Request实例。 | 
| abstract TypeCode | get_primitive_tc(TCKind tcKind)
              检索表示给定的原始IDL类型的 
              TypeCode对象。 | 
| boolean | get_service_information(short service_type, ServiceInformationHolder service_info)
              用于获取有关该ORB支持的CORBA设施和服务的信息。 
             | 
| static ORB | init()
              返回 
              ORB单例对象。 | 
| static ORB | init(Applet app, Properties props)
              为小程序创建一个新的 
              ORB实例。 | 
| static ORB | init(String[] args, Properties props)
              为独立应用程序创建一个新的 
              ORB实例。 | 
| abstract String[] | list_initial_services()
              返回最初可用的CORBA对象引用的列表,例如“NameService”和“InterfaceRepository”。 
             | 
| abstract String | object_to_string(Object obj)
              将给定的CORBA对象引用转换为字符串。 
             | 
| void | perform_work()
              如果主线程调用,则执行依赖于实现的工作单元。 
             | 
| abstract boolean | poll_next_response()
              找出任何延迟(异步)调用是否有响应。 
             | 
| abstract Object | resolve_initial_references(String object_name)
              从可用的初始服务名称集中解析特定的对象引用。 
             | 
| void | run()
              此操作阻止当前线程,直到ORB完成关机过程,当某个线程调用 
              shutdown时shutdown。 | 
| abstract void | send_multiple_requests_deferred(Request[] req)
              以异步方式发送多个动态(DII)请求。 
             | 
| abstract void | send_multiple_requests_oneway(Request[] req)
              以异步方式发送多个动态(DII)请求,而不需要任何响应。 
             | 
| protected abstract void | set_parameters(Applet app, Properties props)
              允许使用给定的小程序和参数初始化ORB实现。 
             | 
| protected abstract void | set_parameters(String[] args, Properties props)
              允许使用给定的参数和属性初始化ORB实现。 
             | 
| void | shutdown(boolean wait_for_completion) 
             指示ORB关闭,这导致所有对象适配器关闭,以备破坏。 
              如果 wait_for_completion参数为真,则此操作将阻塞,直到完成所有ORB处理(包括处理当前正在执行的请求,对象禁用和其他对象适配器操作)为止。 | 
| abstract Object | string_to_object(String str)
              将由方法 
              object_to_string生成的字符串转换回CORBA对象引用。 | 
| boolean | work_pending()
              返回 
              true如果ORB需要主线程来执行某些工作,false如果ORB不需要主线程。 | 
public static ORB init()
ORB单例对象。 
           此方法总是返回相同的ORB实例,它是由org.omg.CORBA.ORBSingletonClass系统属性描述的类的实例。 
            方法init无参数版本主要用作TypeCode对象的工厂,由Helper类用于实现方法type 。 它也可以用来创建Any被用于描述对象union标签(如创建的一部分TypeCode用于对象union )。 
 该方法不是由applet使用的,如果在Applet环境中调用该方法,则返回的ORB被限制,因此它只能用作TypeCode对象的工厂。 其生成的任何TypeCode对象可以在不受信任的小程序之间安全地共享。 
 如果使用此方法从小程序创建ORB,则如果调用了创建TypeCode对象以外的方法,则将抛出系统异常。 
public static ORB init(String[] args, Properties props)
ORB实例。 
           此方法可以仅从应用程序调用,并在每次调用时返回一个新的全功能ORB对象。 
          args - 应用程序的main方法的命令行参数; 
            可能是null 
           props - 应用程序特定的属性; 
            可能是null 
           public static ORB init(Applet app, Properties props)
ORB实例。 
           该方法可以从applet调用,并在每次调用时返回一个新的全功能ORB对象。 
          app - 小程序 
            可能是null 
           props - 小程序特定属性; 
            可能是null 
           protected abstract void set_parameters(String[] args, Properties props)
init方法调用以传递其参数。 
          args - 应用程序的main方法的命令行参数; 
            可能是null 
           props - 应用程序特定的属性; 
            可能是null 
           protected abstract void set_parameters(Applet app, Properties props)
init方法调用以传入其参数。 
          app - 小程序 
            可能是null 
           props - 小程序特定属性; 
            可能是null 
           public void connect(Object obj)
ImplBase接口对应的ImplBase类。 
           因此,仆人必须是CORBA对象引用,并继承自org.omg.CORBA.Object 。 
           在调用方法connect之后,用户创建的服务器可以开始接收远程调用。 
           如果在非本地对象的IDL方法调用中作为IDL参数传递,则serator也可以自动和隐式地连接到ORB,即如果servant对象必须编组并发送到进程地址之外空间。 
            当servant对象已经连接到ORB时,调用方法connect 。 
OMG不赞成使用便携式对象适配器API。
obj - 仆对象引用 
           public void destroy()
OBJECT_NOT_EXIST异常。 
           一旦ORB已被破坏,其他呼叫init具有相同ORBid将参考返回到新建ORB。 
            如果在尚未关闭的ORB上调用destroy ,则它将启动关闭进程并阻塞,直到ORB在销毁ORB之前已关闭。 
 如果一个应用程序在当前正在处理调用的线程中调用destroy ,那么BAD_INV_ORDER系统异常将被抛出OMG次要代码3,因为阻塞会导致死锁。 
 为了最大的可移植性和避免资源泄漏,应用程序应始终在退出之前调用所有ORB实例上的shutdown和destroy 。 
BAD_INV_ORDER - 如果当前线程服务于调用 
           public void disconnect(Object obj)
org.omg.CORBA.OBJECT_NOT_EXIST回远程客户端。 
           因此,对象似乎从远程客户端的角度被破坏。 
           但请注意,使用仆人发出的本地请求直接不通过ORB; 
           因此,他们将继续由仆人处理。 
            如果服务器未连接到ORB,则调用方法disconnect 。 
OMG不赞成使用便携式对象适配器API。
obj - 要从ORB 
            obj的servant对象 
           public abstract String[] list_initial_services()
String对象,代表最初与此ORB可用的CORBA服务的对象引用 
           public abstract Object resolve_initial_references(String object_name) throws InvalidName
object_name - 作为字符串的初始服务的名称 
           InvalidName - 如果给定的名称不与已知服务相关联 
           public abstract String object_to_string(Object obj)
 可以以可以操纵String对象的任何方式存储或传送所得到的String对象。 
obj - 对stringify的对象引用 
           public abstract Object string_to_object(String str)
object_to_string生成的字符串转换回CORBA对象引用。 
          str - 要转换回对象引用的字符串。 
            它必须是使用方法object_to_string将对象引用转换为字符串的object_to_string 。 
           public abstract NVList create_list(int count)
NVList与(可能)足够的空间指定数量的NamedValue对象。 
           请注意,指定的大小只是帮助存储分配的提示,并不意味着列表的最大大小。 
          count - 建议号码为 
            NamedValue为其分配空间的对象 
           NVList 
           NVList 
           public NVList create_operation_list(Object oper)
NVList ,初始化为给定OperationDef对象中NVList操作的参数描述。 
           这个OperationDef对象是从Interface Repository获得的。 
           返回的NVList对象中的参数与原始IDL操作定义中的参数相同,这样可以在动态调用请求中使用该列表。 
          oper - 用于创建列表的 
            OperationDef对象 
           NVList对象包含给定 
            OperationDef对象中描述的方法的参数的 
            OperationDef 
           NVList 
           public abstract NamedValue create_named_value(String s, Any any, int flags)
NamedValue对象。 
            NamedValue对象用作(1)参数或返回值或(2)上下文属性。 它可以自己使用或作为NVList对象中的元素使用。 
s - 
            NamedValue对象的名称 
           any -所述 
            Any值被插入到 
            NamedValue对象 
           flags -为对所述参数模式标志 
            NamedValue :之一 
            ARG_IN.value , 
            ARG_OUT.value ,或 
            ARG_INOUT.value 。 
           NamedValue对象 
           NamedValue 
           public abstract ExceptionList create_exception_list()
ExceptionList对象。 
          ExceptionList对象 
           public abstract ContextList create_context_list()
ContextList对象。 
          ContextList对象 
           ContextList , Context 
           public abstract Context get_default_context()
Context对象。 
          Context对象 
           Context 
           public abstract Environment create_environment()
Environment对象。 
          Environment对象 
           Environment 
           public abstract OutputStream create_output_stream()
org.omg.CORBA.portable.OutputStream ,在方法调用期间可以 
           org.omg.CORBA.portable.OutputStream入IDL方法参数。 
          org.omg.CORBA.portable.OutputStream对象 
           public abstract void send_multiple_requests_oneway(Request[] req)
req - 一个请求对象数组 
           public abstract void send_multiple_requests_deferred(Request[] req)
req - 一个 
            Request对象的数组 
           public abstract boolean poll_next_response()
true如果有响应可用; 
            false否则 
           public abstract Request get_next_response() throws WrongTransaction
Request实例。 
          Request对象准备好了一个响应 
           WrongTransaction - 如果从与发送原始请求的事务范围不同的事务范围调用方法get_next_response 。 
            有关详细信息,请参阅OMG事务服务规范。 
           public abstract TypeCode get_primitive_tc(TCKind tcKind)
TypeCode对象。 
          tcKind - 对应于所需原始类型的 
            TCKind实例 
           TypeCode对象 
           public abstract TypeCode create_struct_tc(String id, String name, StructMember[] members)
TypeCode IDL struct的TypeCode对象。 
           TypeCode对象使用给定的id,name和成员进行初始化。 
          id -为库ID 
            struct 
           name - 的名字是 
            struct 
           members - 一个描述struct成员的 
            struct 
           TypeCode对象描述一个IDL 
            struct 
           public abstract TypeCode create_union_tc(String id, String name, TypeCode discriminator_type, UnionMember[] members)
TypeCode IDL union的TypeCode对象。 
           TypeCode对象使用给定的id,name,discriminator类型和成员进行初始化。 
          id -的的存储库id 
            union 
           name - 的名字 
            union 
           discriminator_type - 
            union鉴别器的类型 
           members - 一个描述union的成员的 
            union 
           union的新创建的 
            TypeCode对象 
           public abstract TypeCode create_enum_tc(String id, String name, String[] members)
枚举的TypeCode对象。 
           TypeCode对象使用给定的id,name和成员进行初始化。 
          id -为库ID 
            枚举 
           name - 的名字为 
            枚举 
           members - 一个描述enum的成员的 
            枚举 
           TypeCode对象描述一个IDL 
            枚举 
           public abstract TypeCode create_alias_tc(String id, String name, TypeCode original_type)
TypeCode IDL alias ( typedef )的TypeCode对象。 
           TypeCode对象使用给定的id,name和original类型进行初始化。 
          id - 别名的存储库ID 
           name - 别名的名称 
           original_type - 
            TypeCode这是别名的原始类型的 
            TypeCode对象 
           TypeCode对象描述一个IDL 
            alias 
           public abstract TypeCode create_exception_tc(String id, String name, StructMember[] members)
TypeCode IDL exception的TypeCode对象。 
           TypeCode对象使用给定的id,name和成员进行初始化。 
          id -为库ID 
            exception 
           name - 的名字为 
            exception 
           members - 一个描述exception的成员的 
            exception 
           exception的新创建的 
            TypeCode对象 
           public abstract TypeCode create_interface_tc(String id, String name)
interface的TypeCode对象。 
           TypeCode对象使用给定的id和名称进行初始化。 
          id - 接口的存储库ID 
           name - 
            name的名称 
           TypeCode对象描述一个IDL 
            interface 
           public abstract TypeCode create_string_tc(int bound)
string的TypeCode对象。 
           TypeCode对象使用给定的绑定进行初始化,表示字符串的最大长度。 
           零表示由此类型代码描述的字符串是无界的。 
          bound - 绑定为string ; 
            不能是负面的 
           string的新创建的 
            TypeCode对象 
           BAD_PARAM - 如果绑定为负值 
           public abstract TypeCode create_wstring_tc(int bound)
wstring (宽字符串)的TypeCode对象。 
           TypeCode对象被初始化为给定的边界,表示宽字符串的最大长度。 
           零表示由此类型代码描述的字符串是无界的。 
          bound - 绑定为wstring ; 
            不能是负面的 
           wstring的新创建的 
            TypeCode对象 
           BAD_PARAM - 如果绑定是负值 
           public abstract TypeCode create_sequence_tc(int bound, TypeCode element_type)
TypeCode IDL sequence的TypeCode对象。 
           TypeCode对象使用给定的绑定和元素类型进行初始化。 
          bound - 绑定为 
            sequence ,如果无限制为0 
           element_type -所述 
            TypeCode对象描述元素包含在 
            sequence 
           TypeCode对象描述一个IDL 
            sequence 
           @Deprecated public abstract TypeCode create_recursive_sequence_tc(int bound, int offset)
sequence的TypeCode对象。 
            对于以下代码片段中的IDL struct节点,创建其序列的偏移量参数为1: 
  Struct Node {
        long value;
        Sequence <Node> subnodes;
    };  
          bound - 序列的绑定,如果为无限制则为0 
           offset - 描述此序列元素的封装 
            TypeCode对象的索引 
           TypeCode对象 
           create_recursive_tc , 
            create_sequence_tc 
           public abstract TypeCode create_array_tc(int length, TypeCode element_type)
array的TypeCode对象。 
           TypeCode对象使用给定的长度和元素类型进行初始化。 
          length -的长度 
            array 
           element_type -一个 
            TypeCode对象描述包含在该元件的类型 
            array 
           TypeCode对象描述一个IDL 
            array 
           public TypeCode create_native_tc(String id, String name)
TypeCode对象。 
          id - 本机类型的逻辑ID。 
           name - 本机类型的名称。 
           public TypeCode create_abstract_interface_tc(String id, String name)
TypeCode对象。 
          id - 抽象接口类型的逻辑ID。 
           name - 抽象接口类型的名称。 
           public TypeCode create_fixed_tc(short digits, short scale)
TypeCode对象。 
          digits - 指定数字中的十进制数字的总数,必须为1到31(含)。 
           scale - 指定小数位的位置。 
           public TypeCode create_value_tc(String id, String name, short type_modifier, TypeCode concrete_base, ValueMember[] members)
TypeCode对象。 
           concrete_base参数是TypeCode,用于创建TypeCode的类型的即时具体值类型。 
           如果贵重物品没有具体基础,则可以为null。 
          id - 值类型的逻辑ID。 
           name - 值类型的名称。 
           type_modifier - 值类型修饰符常量之一:VM_NONE,VM_CUSTOM,VM_ABSTRACT或VM_TRUNCATABLE 
           concrete_base - 一个 
            TypeCode具体的价值类型基础的 
            TypeCode对象 
           members - 包含值类型成员的数组 
           public TypeCode create_recursive_tc(String id)
TypeCode对象,该对象充当具体的TypeCode的占位符。 
           id参数指定递归TypeCode作为占位符的类型的存储库ID。 
           一旦递归的TypeCode已正确嵌入到与指定的存储库ID相对应的封闭TypeCode中,它将作为普通的TypeCode。 
           在递归的TypeCode嵌入到封闭的TypeCode之前调用操作将导致一个BAD_TYPECODE异常。 
           例如,以下IDL类型声明包含递归:
  Struct Node {
        Sequence<Node> subnodes;
    };  
           要为struct Node创建一个TypeCode,可以调用TypeCode创建操作,如下所示:
  String nodeID = "IDL:Node:1.0";
 TypeCode recursiveSeqTC = orb.create_sequence_tc(0, orb.create_recursive_tc(nodeID));
 StructMember[] members = { new StructMember("subnodes", recursiveSeqTC, null) };
 TypeCode structNodeTC = orb.create_struct_tc(nodeID, "Node", members);  
           另请注意,以下是非法的IDL类型声明:
  Struct Node {
        Node next;
    };  
           递归类型只能出现在可以为空的序列中。 当在任何一个传输结构时,这样可以避免这样的问题。
id - 引用类型的逻辑ID 
           public TypeCode create_value_box_tc(String id, String name, TypeCode boxed_type)
TypeCode对象。 
          id - 值类型的逻辑ID 
           name - 值类型的名称 
           boxed_type - 类型的TypeCode 
           public abstract Any create_any()
Any对象, 
           Any对象包含一个 
           Typecode对象,其对象的 
           kind字段设置为 
           TCKind.tc_null 。 
          Any对象 
           @Deprecated public Current get_current()
resolve_initial_references 。 
          Current对象。 
           Current接口用于管理线程特定的信息,供业务(例如事务和安全性)使用。 
          Current对象 
           CORBA package comments for unimplemented features 
           public void run()
shutdown时shutdown 。 
           它可能被多个线程使用,当ORB关闭时,它们会被通知。 
          public void shutdown(boolean wait_for_completion)
wait_for_completion参数为真,则此操作将阻塞,直到所有ORB处理(包括当前执行的请求,对象禁用和其他对象适配器操作的处理)已完成为止。 
           如果一个应用程序在当前处于调用状态的线程中执行此操作, BAD_INV_ORDER使用OMG次要代码3抛出BAD_INV_ORDER系统异常,因为阻塞将导致死锁。 
           wait_for_completion参数为FALSE ,则返回时关机可能未完成。 
            当ORB正在关闭的过程中,ORB正常运行,为传入和传出请求提供服务,直到所有请求完成。 一旦ORB关闭,只能在ORB或从其获取的任何对象引用中调用对象引用管理操作。 应用程序也可以在ORB本身上调用destroy操作。 调用任何其他操作将抛出BAD_INV_ORDER系统异常与OMG次要代码4。 
 ORB.run方法将在shutdown被调用后返回。 
wait_for_completion - true如果呼叫应该阻塞,直到关机完成; 
            false如果它应该立即返回 
           BAD_INV_ORDER - 如果当前线程服务于调用 
           public boolean work_pending()
true如果ORB需要主线程执行一些工作,而 
           false如果ORB不需要主线程。 
          true如果有工作挂起,意味着ORB需要主线程执行一些工作; 
            false如果没有工作挂起,因此ORB不需要主线程 
           public void perform_work()
work_pending和perform_work可以结合使用来实现在ORB和其他活动之间复用主线程的简单轮询循环。 
          public boolean get_service_information(short service_type,
                                       ServiceInformationHolder service_info) 
          service_type - 表示 
            short请求信息的服务类型的short 
           service_info - 一个 
            ServiceInformationHolder对象,将保存由此方法生成的 
            ServiceInformation对象 
           true如果服务信息可用于service_type ; 
            false如果没有所请求的服务类型的信息可用 
           CORBA package comments for unimplemented features 
           @Deprecated public DynAny create_dyn_any(Any value)
DynAny从给定对象 
           Any对象。 
            
          value - 
            Any创建一个新的 
            DynAny对象的 
            DynAny对象 
           DynAny从给定创建的对象 
            Any对象 
           CORBA package comments for unimplemented features 
           @Deprecated public DynAny create_basic_dyn_any(TypeCode type) throws InconsistentTypeCode
DynAny从给定对象 
           TypeCode对象。 
            
          type - 
            TypeCode创建一个新的 
            DynAny对象的 
            DynAny对象 
           DynAny从给定创建的对象 
            TypeCode对象 
           InconsistentTypeCode - 如果给定的 
            TypeCode对象与操作不一致。 
           CORBA package comments for unimplemented features 
           @Deprecated public DynStruct create_dyn_struct(TypeCode type) throws InconsistentTypeCode
DynStruct从给定对象 
           TypeCode对象。 
            
          type - 
            TypeCode创建一个新的 
            DynStruct对象的 
            DynStruct对象 
           DynStruct从给定创建的对象 
            TypeCode对象 
           InconsistentTypeCode - 如果给定的 
            TypeCode对象与操作不一致。 
           CORBA package comments for unimplemented features 
           @Deprecated public DynSequence create_dyn_sequence(TypeCode type) throws InconsistentTypeCode
DynSequence从给定对象 
           TypeCode对象。 
            
          type - 
            TypeCode创建一个新的 
            DynSequence对象的 
            DynSequence对象 
           DynSequence从给定创建的对象 
            TypeCode对象 
           InconsistentTypeCode - 如果给定的 
            TypeCode对象与操作不一致。 
           CORBA package comments for unimplemented features 
           @Deprecated public DynArray create_dyn_array(TypeCode type) throws InconsistentTypeCode
DynArray从给定对象 
           TypeCode对象。 
            
          type - 
            TypeCode创建一个新的 
            DynArray对象的 
            DynArray对象 
           DynArray从给定创建的对象 
            TypeCode对象 
           InconsistentTypeCode - 如果给定的 
            TypeCode对象与操作不一致。 
           CORBA package comments for unimplemented features 
           @Deprecated public DynUnion create_dyn_union(TypeCode type) throws InconsistentTypeCode
DynUnion从给定对象 
           TypeCode对象。 
            
          type - 
            TypeCode创建一个新的 
            DynUnion对象的 
            DynUnion对象 
           DynUnion从给定创建的对象 
            TypeCode对象 
           InconsistentTypeCode - 如果给定的 
            TypeCode对象与操作不一致。 
           CORBA package comments for unimplemented features 
           @Deprecated public DynEnum create_dyn_enum(TypeCode type) throws InconsistentTypeCode
DynEnum从给定对象 
           TypeCode对象。 
            
          type - 
            TypeCode创建一个新的 
            DynEnum对象的 
            DynEnum对象 
           DynEnum从给定创建的对象 
            TypeCode对象 
           InconsistentTypeCode - 如果给定的 
            TypeCode对象与操作不一致。 
           CORBA package comments for unimplemented features 
           public Policy create_policy(int type, Any val) throws PolicyError
type - 要创建的策略对象的 
            PolicyType 
           val - 将用于设置创建的 
            Policy对象的初始状态的值 
           org.omg.CORBA.PolicyError - 不支持请求的策略或不支持策略的请求的初始状态。 
           PolicyError 
            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.