В Linux java делегирует разрешение имени хоста базовой системной библиотеке C, которая выполняет фактическое разрешение.
Серверы имен будут опрашиваться в порядке, указанном в / etc / resolv. conf после того, как были запрошены другие источники информации, указанные в /etc/nsswitch.conf (подумайте, / etc / hosts, но, возможно, NIS или LDAP).
Вы можете указать значение тайм-аута в /etc/resolv.conf, согласно справочной странице, значение по умолчанию составляет 5 секунд.
Если ваш первый сервер выдает допустимый код ошибки, то есть servfail, второй сервер имен не будет опрашиваться
Поскольку программа (любой процесс, включая JVM) имеет свой самый первый запрос DNS, она считывает и кэширует навсегда все содержимое /etc/resolv.conf
по умолчанию. Он никогда не обновляет эту информацию позже, даже когда обнаруживает полный отказ DNS. Программа должна иметь некоторые специальные системные вызовы, запрограммированные для более удобного поведения. Этот вопрос SO объясняет детали.
Я подозреваю, что вы редактировали /etc/resolv.conf
во время работы JVM. Перезапустите его.