У меня есть сторонняя библиотека Java, которую я пытаюсь инкапсулировать в отдельную JVM с RMI (поскольку в библиотеке есть собственные вызовы, которые приводят к сбою JVM, и существуют приложения для запуска сервера RMI на другом компьютере).
Мое Java-приложение на стороне клиента работает следующим образом, по крайней мере, когда все работает на одном компьютере:
- найти объект, связанный с
FooBar/<id>
в реестре RMI - если он уже связан с реестром, используйте его и перейдите к шагу 5.
- в противном случае запустите отдельную JVM для создания рассматриваемого объекта.
- дождитесь короткого времени ожидания
- найти объект, связанный с
FooBar/<id>
в реестре RMI - , если у нас есть объект, успех!(в противном случае ошибка)
Проблема, с которой я столкнулся, заключается в том, что, когда происходит сбой другой JVM, кажется, что привязка присутствует в реестре RMI, а затем я в конечном итоге использую фантомный объект, ничем не связанный.
Можно ли каким-то образом проверить прокси-объект, связанный с реестром RMI на шаге 2, поэтому, если объект недействителен, я могу создать новый для rebind () в реестре RMI?