ОК, я понимаю, как использовать RMI для привязки одноэлементного серверного объекта с известным именем, чтобы другие JVM могли его найти.
Допустим, у меня есть несколько процессов, каждый из которых выполняет JVMи каждый создает объект, поддерживающий интерфейс FooRemote
, который я хочу показать через RMI.Каждый процесс имеет непредсказуемый жизненный цикл, который соответствует чему-то, будь то из пользовательского ввода или доступности ресурса.
Как я могу связать их без коллизий имен?Поможет ли использование JNDI?
По сути, я хотел бы иметь пул схожих объектов, каждый на отдельной виртуальной машине Java (причина для этого важна, но выходит за рамки этого вопроса).Мне нужен клиент, чтобы иметь возможность перечислять, какие объекты доступны, и выбирать один для дальнейшего взаимодействия.
(Причина, по которой я подчеркиваю отдельные JVM, заключается в том, что, если бы они были все в одной JVM, я мог бы просто иметьодноэлементный менеджер, который обрабатывает пул групп и делает все экземпляры групп доступными через менеджер, но я не могу этого сделать, если пул групп состоит из независимых экземпляров в отдельных JVM.)