JacORB 3.2 NameService(ns)似乎不读取“ orb.properties”文件

问题描述 投票:3回答:2

[JacORB 3.2出现问题,因为它似乎不读取orb.properties文件,尤其是ORBInitRef.NameService属性。

如在第3.1章的文档中所述,JacORB在三个位置自动搜索orb.properties文件:"java.home"/lib目录,"user.home"目录和类路径内。

这是我没有完全喝醉的证据:

Java命令:

System.out.println(System.getProperty("java.home"));
System.out.println(System.getProperty("user.home"));

输出:

/usr/lib/jvm/jdk1.7.0/jre
/home/emanuele

重击命令:

ls /usr/lib/jvm/jdk1.7.0/jre/lib | grep orb.properties ; ls /home/emanuele | grep orb.properties

输出:

jacorb.properties
orb.properties
jacorb.properties
orb.properties

这四个.properties文件完全相同。请查看包含NameService的引用(IOR)的文件的URI:

ORBInitRef.NameService=file:/tmp/CORBA/NS_Ref

问题是,当我尝试启动不带任何参数(ns)的NameService时,出现以下错误消息:

giu 05, 2013 9:56:51 PM org.jacorb.naming.NameServer main
SEVERE: unexpected exception
java.io.FileNotFoundException: c:/NS_Ref (No such file or directory)
    at java.io.FileOutputStream.open(Native Method)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:212)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:104)
    at org.jacorb.naming.NameServer.main(NameServer.java:320)

java.lang.RuntimeException: c:/NS_Ref (No such file or directory)
    at org.jacorb.naming.NameServer.main(NameServer.java:335)

当然,如果我通过控制台显式传递URI,一切都会顺利进行

ns -Djacorb.naming.ior_filename=/tmp/CORBA/NS_Ref

非常奇怪的是,在运行NameService之后,每个其他对象可以正确并自动解析NameService的初始引用。

NamingContextExt nc = NamingContextExtHelper.narrow(orb.resolve_initial_references("NameService"));

先前的Java代码返回一个有效的对象。这对我来说毫无意义。当我在Linux上时,为什么NameService会尝试将其IOR写入C:\ NS_Ref之类的随机文件中?

任何想法?

java corba jacorb nameservice
2个回答
2
投票

我想你在问题中混淆了一些不同的东西。

  1. NS的IOR的位置
  2. 由其他程序读取和使用此IOR的能力

First。启动NamingService受到选项ORBInitRef.NameService或任何相关命令行选项的影响。如果您希望NamingService将其IOR删除到文件中,请使用# The file where the name server drops its IOR jacorb.naming.ior_filename=file:///tmp/CORBA/NS_Ref

正如您已经做过的。如果将此作为cmdline选项使用时,其行为有所不同,请参见2。

第二

JacORB的配置文件不是特定于OS的-Linux和Windows风格混合在一起。不要依赖。您对ns的调用将调用JacORBs jaco目录中的bin脚本。激活文件末尾的详细信息,然后再次启动ns,然后查看真正使用的jrejacorb.home。查找配置。删除所有不需要的其他配置。

重试。


1
投票
© www.soinside.com 2019 - 2024. All rights reserved.