我失去了一些東西有關的區別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