-1

RMIを使用していくつかのテストを実行しようとしています。

呼び出す必要のあるメソッドを持つクラスを含む.jarファイルがあります。私のnetbeansプロジェクトには、リモートインターフェイスであるShareBrokerに接続する必要があるクラスTestClientがあります。私の問題は、java.rmi.server.codebaseの正しいアドレスを設定する方法と、ShareBrookerを検索するためにTestClientに必要なアドレスです。

さまざまなアドレスと組み合わせを試しましたが、これを機能させることができませんでした。このテストでは、ローカルディレクトリにコードベースを設定する必要があります。

4

3 に答える 3

0

リモートインターフェースがjava.rmi.Remoteインターフェースを拡張していない可能性があることを確認してください

于 2013-03-03T17:55:08.870 に答える
0

java.rmi.server.codebaseプロパティは、リモートオブジェクトをエクスポートするJVMで設定されます。通常、これはサーバーJVMです。

コードベースURLは、このサーバーのクライアントがアクセスできるディレクトリまたはJARファイルを参照する必要があります。したがって、クライアントがアクセスできるWebサーバーを参照するHTTPまたはFTP URL、またはファイル:クライアントのローカルファイルシステムを参照するURLのいずれかである必要があります。

後者の場合、(1)サーバーは、コードベースプロパティを正しく設定するために、クライアントのファイルの体系的な順序のレイアウトを知る必要があります。これにより、構成が困難になります。(2)サーバーが実行するのは、次のようなものだけです。そのローカルディレクトリ/JARファイルをクライアントのCLASSPATHに含め、コードベースシステムを完全に除外することで十分に達成できます。

言い換えれば、ローカルファイルシステムを参照するコードベースにはまったく意味がありません。

于 2012-03-03T03:03:24.590 に答える
0

クライアントがリモートサービスにアクセスするには、クライアントがスタブを使用できるようにする必要があります。これは、クライアントのクラスパスで設定できます(生成されたスタブをプロジェクトのビルドパスに含めることができます)。

クライアントのクラスパスにスタブがない場合は、java.rmi.server.codebaseプロパティをリモートサービスに設定する必要があります。これが設定されている場合、クライアントがリモートメソッドを呼び出すと、スタブクラスが指定されたコードベース。

次のリンクが役立つ場合があります 。https ://community.oracle.com/thread/1180559?start = 0 http://docs.oracle.com/javase/7/docs/technotes/guides/rmi/codebase.html

于 2015-08-04T08:08:42.733 に答える