我失去了一些东西有关的区别rmi注册表:确保有一个运行的最佳方式?
- 开始rmiregistry中之间在命令提示符(分开任何Java进程正在运行实现了RMI接口的服务器)
- 具有服务器调用
LocateRegistry.getRegistry()
- 有服务器电话
LocateRegistry.createRegistry(Registry.REGISTRY_PORT)
我只想我的服务器注册其与注册表的导出对象,创建一个,如果没有一个已经运行。什么是最好的方法来做到这一点?
我失去了一些东西有关的区别rmi注册表:确保有一个运行的最佳方式?
LocateRegistry.getRegistry()
LocateRegistry.createRegistry(Registry.REGISTRY_PORT)
我只想我的服务器注册其与注册表的导出对象,创建一个,如果没有一个已经运行。什么是最好的方法来做到这一点?
这就是我曾经这么做的,不确定它是否是正确的方式:/。我还必须制定策略文件,所以如果这也给你带来麻烦(安全管理器部分),你必须创建一个策略文件并使用它。
try
{
try
{
java.rmi.registry.LocateRegistry.createRegistry(1099);
}
catch (java.rmi.server.ExportException e) { /* */ }
System.setSecurityManager(new java.rmi.RMISecurityManager());
Registry registry = LocateRegistry.getRegistry("127.0.0.1",1099);
registry.rebind(...);
}
catch (Exception e) { /* */ }
}
旧线程,但...
man rmiregistry
说:
用于 的java.rmi.registry.LocateRegistry类的方法得到注册表上操作本地主机或本地主机和端口。
否则必须:
的java.rmi.Naming中的类的基于URL的方法操作上的注册表,并可以用来查找一个远程对象的任何主机上和本地主机
所以我想这是重要的区别。其他的事情是SecurityManager和策略。
upvoting因为你回答了这个问题,但是,是的,这个Q太老了,我根本不记得RMI,不能再对它进行评估。 – 2016-04-29 22:49:36