В моем Java-коде я читаю смонтированный каталог NFS (код работает на NFS client
машине). Все в порядке, пока компьютер с NFS работает и работает, но когда сервер NFS не работает (по любой причине), код зависает везде, где создается новый файл в каталог, смонтированный на nfs. Если я просто размонтирую каталог nfs, мой код запускается без проблем, но я не хочу вручную проверять такие проблемы каждый день и хотел бы обработать этот сценарий только в моем коде
это / etc / export сервера NFS:
/var/nfs/general *(rw,insecure,all_squash,no_subtree_check)
Фактический код Java просто:
log.info("before new");
File file = new File("/var/nfs/general");
log.info("after new");
Он печатает только «до нового» в файле журнала и никогда не достигает «после нового» * 1012 *
Я поместил новый файл в службу Executor с тайм-аутом, как это было предложено, но все еще зависает даже с 2-секундным таймаутом:
Как вызвать какой-либо метод блокировки с таймаутом в Java?