CORBA ORB 运行时定义本地 IP 接口使用
Posted
技术标签:
【中文标题】CORBA ORB 运行时定义本地 IP 接口使用【英文标题】:CORBA ORB runtime define local IP interface usage 【发布时间】:2012-10-17 15:59:29 【问题描述】:我们有一个现有的应用程序,它设置了一个 CORBA ORB 运行时环境作为客户端。
目前我们没有指定要使用的任何本地接口(IP/以太网),并且运行时似乎在我们的本地机器上获得了一些默认接口。使用的机器是带有 Solaris 操作系统的 Oracle。
这里使用的ORB运行环境是Java 7 JDK内置的ORB。
有没有什么方法可以通过ORB.init(...)
的某些属性明确指出某个本地IP接口应该被使用?
【问题讨论】:
出于什么目的?默认是监听所有接口,即 IPv4 中的 0.0.0.0。 这是一个特定于 ORB 的设置,每个 CORBA 供应商都有不同的规定。您应该查阅 Java 7 文档并查看可以为传输接口绑定设置的 ORB 属性。 【参考方案1】:对于 Oracle JDK 的 ORB,它是
-Dcom.sun.CORBA.ORBServerPort=10023 -Dcom.sun.CORBA.ORBServerHost=1.2.3.4
在命令行或
Properties prop = new Properties();
prop.put("com.sun.CORBA.ORBServerPort", "10000");
prop.put("com.sun.CORBA.ORBServerHost", "11.1.1.11");
ORB orb = ORB.init(args, prop);
如果以编程方式使用。
【讨论】:
如果有人还在做 CORBA 并使用 glassfish-corba-orb,属性应该有com.sun.corba.ee
前缀而不是 com.sun.CORBA
。以上是关于CORBA ORB 运行时定义本地 IP 接口使用的主要内容,如果未能解决你的问题,请参考以下文章
org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService") 上的错误;