RMI クライアントが、リモート RMI レジストリに登録されているすべてのリモート オブジェクトを取得する必要があるという要件があります。
最初の質問です。オブジェクトのすべての名前を返す registry.list() のメソッドがあることは知っています。ただし、他の種類のオブジェクトも登録されていると仮定して、必要なタイプのオブジェクトを正確に取得するにはどうすればよいですか (必要なインターフェイスを実装します)。名前を調べて、try/catch ステートメントを使用し、各リモート オブジェクトのインスタンス化を試みますか?
2 番目の質問です。新しいオブジェクトが登録された場合、クライアントはどのように通知されますか? 私の要件では、サーバーは新しいオブジェクトをレジストリに動的に登録し、クライアントは更新して新しいオブジェクトにすばやくアクセスする必要があります。スレッドを使用して定期的にすべての名前をリストし、新しいオブジェクトを見つけますか?
リモート オブジェクトは、同じノードからではなく、異なるノードからエクスポートされることに注意してください。それらが同じノードからのものであるかどうかはわかっています。おそらく、インスタンス化されたリモート オブジェクトの 1 つから呼び出されるコールバック機能を使用できます。