Насколько я понимаю, Tomcat использует отдельный DNS-кеш в Linux. Как мне его очистить?
На нашем сервере tomcat запущено приложение, которое использует службу на другом сервере, на котором изменился IP-адрес. Теперь я получаю исключения noRouteToHost, даже если служба на другом сервере кажется доступной с использованием ее имени DNS при тестировании с другого компьютера. Кроме того, при проверке связи с сервером "new-ip" с сервера, на котором установлен tomcat, с использованием его DNS-имени выполняется проверка правильности нового IP-адреса.
Oracle / Sun Java предлагает внутренний кеш для собственного механизма разрешения имен (он не является специфическим для контейнера сервлетов Apache Tomcat).
На данный момент кажется, что самым простым решением было бы перезапустить весь контейнер JVM. Позже, если вы захотите полностью отключить внутренний кэш DNS, вы можете сделать это, установив для системных свойств networkaddress.cache.ttl и networkaddress.cache.negative.ttl значение 0 (подробнее об этих свойствах Java можно найти здесь).