标签:java initialization corba orb
我想从属性文件中初始化我的ORB(通常在运行示例时,我是这样初始化它的:./app -ORBInitRef NameService = corbaloc :: localhost:2809 / NameService)
我写了一个简单的代码:
private static String[] readConfigFile()
{
Properties prop = new Properties();
String arg[] = new String[1];
try
{
prop.load(new FileInputStream("config.properties"));
} catch (IOException ex) {}
arg[0] = prop.getProperty("ORBInitRef");
return arg;
}
然后尝试初始化我的球体:
clientsORB = org.omg.CORBA.ORB.init(readConfigFile(), null);
但是有一些错误:
2012-11-01 12:15:36 com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl <init>
WARNING: "IOP00410201: (COMM_FAILURE) Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: 127.0.1.1; port: 900"
org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 201 completed: No
at com.sun.corba.se.impl.logging.ORBUtilSystemException.connectFailure(ORBUtilSystemException.java:2172)
at com.sun.corba.se.impl.logging.ORBUtilSystemException.connectFailure(ORBUtilSystemException.java:2193)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:223)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:236)
at com.sun.corba.se.impl.transport.SocketOrChannelContactInfoImpl.createConnection(SocketOrChannelContactInfoImpl.java:119)
at com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.beginRequest(CorbaClientRequestDispatcherImpl.java:168)
at com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl.request(CorbaClientDelegateImpl.java:136)
at com.sun.corba.se.impl.resolver.BootstrapResolverImpl.invoke(BootstrapResolverImpl.java:99)
at com.sun.corba.se.impl.resolver.BootstrapResolverImpl.resolve(BootstrapResolverImpl.java:132)
at com.sun.corba.se.impl.resolver.CompositeResolverImpl.resolve(CompositeResolverImpl.java:47)
at com.sun.corba.se.impl.resolver.CompositeResolverImpl.resolve(CompositeResolverImpl.java:47)
at com.sun.corba.se.impl.resolver.CompositeResolverImpl.resolve(CompositeResolverImpl.java:47)
at com.sun.corba.se.impl.orb.ORBImpl.resolve_initial_references(ORBImpl.java:1174)
at ClientConnection.connect(ClientConnection.java:68)
at Client.main(Client.java:303)
Caused by: java.net.ConnectException: Connection refused
at sun.nio.ch.Net.connect(Native Method)
at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:525)
at java.nio.channels.SocketChannel.open(SocketChannel.java:164)
at com.sun.corba.se.impl.transport.DefaultSocketFactoryImpl.createSocket(DefaultSocketFactoryImpl.java:78)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:206)
... 12 more
我的config.properties文件:
ORBInitRef NameService = corbaloc :: localhost:2809 / NameService
我做错了什么?通常,当我初始化我的ORB时,一切都很好,所以它不是代码问题,而是文件初始化的问题.
解决方法:
您还必须将-ORBInitRef添加到ORB参数.将其与您通常使用的命令行进行比较.所有参数都必须传递给ORB.init()
config.properties:
ORBInitRef NameService=corbaloc::localhost:2809/NameService
使用它的Java代码(ReadProps.java)
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;
import org.omg.CORBA.ORB;
public class ReadProps {
public static void main(String[] args) {
ORB clientsORB = org.omg.CORBA.ORB.init(readConfigFile(), null);
}
static String[] readConfigFile() {
Properties prop = new Properties();
String[] orbarg = new String[2];
try {
// load a properties file
prop.load(new FileInputStream("config.properties"));
// get the property value and print it out
orbarg[0] = "-ORBInitRef"; // <---- NEEDED
orbarg[1] = prop.getProperty("ORBInitRef");
} catch (IOException ex) {
ex.printStackTrace();
}
return orbarg;
}
}
标签:java,initialization,corba,orb 来源: https://codeday.me/bug/20191011/1894120.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。