关于网友提出的“ 一个关于rmi命名的问题”问题疑问,本网通过在网上对“ 一个关于rmi命名的问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 一个关于rmi命名的问题
描述:
您好,我有个问题求教!
现在我做了一个基于rmi的server和client
在server中我用下面的语句完成命名的
new InitialContext().bind("topics", server);
而在client中我用下面语句进行lookup的
Properties cfg = new Properties();
cfg.load(getClass().getResourceAsStream("/jndi.properties"));
Object x = new InitialContext().lookup("topics");
jndi.properties文件内容为(注意192.168.1.120为我本机IP地址)
java.naming.provider.url=rmi://192.168.1.120
这样运行后,server和client都是正常的。
但是现在我想将server改成在web的Server中,而client作为一个applet的话,我采取的办法就是将
原来的server程序作为一个servlet放在web中,运行后server是正常的,但是在applet中如果仍然
采用原来的lookup方法的话,将会出现下面的错误信息 (注意我采用的webServer为Tomcat)
java.rmi.ServerException: Could not access topic server; nested exception is:
javax.naming.NameNotFoundException: topics
at com.hyyd.rmi.client.ChatClient.getTopicServer(ChatClient.java:216)
at com.hyyd.rmi.client.ChatClient.(ChatClient.java:139)
at com.hyyd.rmi.client.ChatClient.main(ChatClient.java:92)
Caused by: javax.naming.NameNotFoundException: topics
at com.sun.jndi.rmi.registry.RegistryContext.lookup(RegistryContext.java:90)
at com.sun.jndi.rmi.registry.RegistryContext.lookup(RegistryContext.java:98)
at javax.naming.InitialContext.lookup(InitialContext.java:347)
at com.hyyd.rmi.client.ChatClient.getTopicServer(ChatClient.java:212)
... 2 more
请问我要如何做才能完成我的想法。
以上介绍了“ 一个关于rmi命名的问题”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3625167.html