У меня есть требование, чтобы клиент RMI зарегистрировал все удаленные объекты в удаленном реестре RMI.
Первый вопрос: я знаю, что существует метод register.list(), который возвращает все имена объектов. Однако как мне получить объекты именно того типа, который мне нужен (реализуя интерфейс, который я хочу), если предположить, что есть и другие типы зарегистрированных объектов. Должен ли я пройти по именам и использовать оператор try/catch, пытаясь создать экземпляр каждого удаленного объекта?
Второй вопрос, как клиент может быть замечен, если регистрируется новый объект? По моему требованию серверы будут динамически регистрировать новые объекты в реестре, а клиенту необходимо обновляться и получать доступ к новым объектам раньше. Должен ли я просто использовать поток для периодического перечисления всех имен, чтобы узнать новые объекты?
Обратите внимание, что удаленные объекты необходимо экспортировать с разных узлов, а не с одного узла. Я знаю, если они из одного и того же узла, возможно, я могу использовать функцию обратного вызова, вызываемую из одного из экземпляров удаленного объекта.