RMI がどのように機能するかを知っていると思ったら、RMI が戻ってきて、わからないと教えてくれます。次の状況:
私は与えました:
- インターフェイス: http://pastebin.com/KxXH1jQ9
- rmiregistry が実行されているアドレス
インターフェイスは、オブジェクトに関する情報を取得するための明確な 3 つの getter メソッドを提供します。3 つのメソッドを呼び出すオブジェクトを検索し、それらの値を出力したいだけです。
ただし、次の実装 ( http://pastebin.com/d4JS0Wai ) はトリックを実行せず、次の例外が発生します。
スレッド「メイン」での例外 java.rmi.UnmarshalException: アンマーシャリング エラー。ネストされた例外: java.lang.ClassNotFoundException: Article at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source) at rmi.ArticleDisplayer.main(ArticleDisplayer.java:21)
原因: java.lang.ClassNotFoundException: Article at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) ...
また、マシンがコードを実行していないため、とにかく SecurityManager が必要な理由もわかりません。コードは、rmiregistry を実行しているマシンで実行されます。とにかく、これは私のポリシー ファイルです: http://pastebin.com/chGEqceA