У меня есть клиент RMI тестирование, если сервер RMI работает и доступен.Есть ли эффективный способ проверить, работает ли RMI-сервер?
На данный момент я выполняю каждые несколько секунд этого тест: (. ping()
является простым манекеном RMI вызова)
try {
rMIinstance.ping();
} catch (RemoteException e) {
getInstanceRegister().removeInstance(rMIinstance);
}
Если экземпляр офлайн я получаю около 1 минуты в
java.net.ConnectException: Connection timed out
исключение, показывающее, что сервер отключен.
Однако код стоит на одной минуте, что далеко не для нас. (Я не хочу изменять настройку таймаута.) Есть ли способ быстрее выполнить этот тест?
Небольшой совет: обычно вы должны использовать «ExecutorService», поскольку его целью является «кеширование» потоков. –