【问题标题】:When you initialize a CORBA ORB in Java, what do the ORBInitialHost and ORBInitialPort properties represent?在 Java 中初始化 CORBA ORB 时,ORBInitialHost 和 ORBInitialPort 属性代表什么?
【发布时间】:2011-12-07 13:06:48
【问题描述】:
Properties aProperties = new Properties();
aProperties.put("org.omg.CORBA.ORBInitialHost", "localhost");
aProperties.put("org.omg.CORBA.ORBInitialPort", "2930");
ORB orb = ORB.init((String[]) null, aProperties);
//Get the stringified reference over TCP (String ior)
org.omg.CORBA.Object cmdObject = orb.string_to_object(ior);
this.corba = OGE_CMDHelper.narrow(cmdObject);

org.omg.CORBA.ORBInitialHostorg.omg.CORBA.ORBInitialPort 究竟代表什么?是 CORBA 命令的接收端点的主机名和地址(实现对象的位置)吗?或者是本地 CORBA ORB 的主机名和端口将 CORBA 消息传输到接收者?还是完全是另外一回事?

【问题讨论】:

    标签: java distributed-computing corba


    【解决方案1】:

    关于the Java SE documentation(插入新链接)

    org.omg.CORBA.ORBInitialHost

    运行提供初始引导服务(例如名称服务)的服务器或守护程序的机器的主机名。对于应用程序,此属性的默认值是 localhost。对于applet,它是applet 宿主,相当于getCodeBase().getHost()。

    org.omg.CORBA.ORBInitialPort

    初始命名服务侦听的端口。默认值为 900。

    【讨论】:

      【解决方案2】:

      信不信由你,它们代表了您的客户端 ORB 将尝试联系的命名服务的主机/端口对(命名服务基本上是 CORBA 对象引用的电话簿)。你可以看到他们在使用它in this diagram

      奇怪的是,OMG 从未对这些属性进行标准化,但出于某种原因,Sun ORB 将它们打包在org.omg.CORBA 中,并使其看起来像是标准化的(请参阅this IBM page 底部的小花絮)。如果你真的有兴趣阅读旧的 CORBA 历史,OMG issue 会稍微讨​​论一下。

      CORBA Interoperable Naming Service (INS) 规范中定义了引导客户端查找命名服务问题的标准化方法,如果可以,您应该在此处使用它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-20
        相关资源
        最近更新 更多