我希望在这个奇怪的问题上能得到一些帮助。我们正在运行Jacorb名称服务器,并且我有一个简单的客户端,用于尝试连接并执行出色的CORBA伏都教。名称服务器正在运行,但是当我尝试启动Java应用程序时,我得到了"Connection failure" error (org.omg.CORBA.COMM_FAILURE, minor code 201, "caused by java.net.ConnectionException: Connection refused: connect")
。
这是奇怪的部分。该错误报告它正在尝试使用默认端口900进行连接,但我传入了一个参数来尝试覆盖名称服务的端口号以匹配名称服务器所使用的端口号。我的java命令是这样的:
java -classpath . HelloClient -Djava.endorsed.dirs="bla bla bla" <br>
-Dorg.omg.CORBA.ORBClass=org.jacorb.orb.ORB
-Dorg.omg.CORBA.ORBSingletonClass=org.jacorb.orb.ORBSingleton
-DORBInitRef.NameService=corbaloc::localhost:2809/StandardNS/NameServer-POA/_root
我也尝试了没有第一个大写字母D的参数(我已经看过两种方式了,我不知道它们之间的区别)。
现在,如果我输入
-ORBInitialPort 2809
,则客户端确实会尝试连接,但随后出现corba.OBJECT_NOT_EXIST
错误。我可以使用任何人提供的任何帮助或建议。
最佳答案
连接被拒绝。这听起来像防火墙/程序未运行问题。
尝试telnet <machine> 2809
。您应该获得一个“已连接到”
如果一切都在正确运行/启用,则不要拒绝。
我在UNIX客户端上运行,因此路径使用UNIX样式。
orb.properties文件(位于$ {JAVA_HOME}/jre/lib/
我使用“
ORBInitRef.NameService=corbaloc::localhost:2809/NameServer
”因为在生产名称服务器上使用“NameServer”,而不在其他服务器上使用
“Standard ....”的字符串
属性文件中的其他更改正在设置UNIX的路径
样式(即e:\NS_Ref->/tmp/NS_Ref)
jacorb.naming.ior_filename=/tmp/NS_Ref
1a。在属性文件中设置http://似乎没有任何作用
关于在客户端解决。
1b。注意:ns开始于:
ns -DOAPort=2809
日志将显示:
2010-05-27 10:00:47.777 FINE Created socket listener on 0.0.0.0/0.0.0.0:2809
2010-05-27 10:00:47.777 FINE Using port 2809
运行:$ lsof | grep 2809java 27529 jbsymolo 15u IPv6 693300 TCP *:2809 (LISTEN)$ lsof -Pnl +M -i6COMMAND PID USER FD TYPE DEVICE SIZE NODE NAMENaming_Se 9678 1000 7u IPv6 45779 TCP *:51148 (LISTEN)java 27959 1000 15u IPv6 696092 TCP *:2809 (LISTEN)
未运行:(不显示任何内容)
抛出任何错误。如果是这样,则您的属性文件有问题。
然后通过System.getProperty()访问如此定义的任何属性。虽然
我还看过使用过的“non-D”,我一直在使用D。
在Eclipse中运行客户端时,我会在控制台中看到以下内容:
May 27, 2010 10:01:06 AM org.jacorb.config.JacORBConfiguration init
INFO: base configuration loaded from file /usr/lib/java/jdk1.6.0_18/jre/lib/orb.properties
...
2010-05-27 10:01:09.836 FINE Trying to connect to 127.0.0.1:2809 with timeout=90000.
2010-05-27 10:01:09.844 INFO Connected to 127.0.0.1:2809 from local port 45745
2010-05-27 10:01:09.846 FINE wrote 12 bytes to 127.0.0.1:2809
...
跳过许多其他读/写流量