Есть ли способ обновить данные DNS-сервера Java-приложения во время выполнения? - PullRequest
0 голосов
/ 17 декабря 2018

У нас есть приложение, которое подключается к различным приложениям, используя имя хоста.Если я изменяю DNS-сервер системы, на которой запущено приложение, приложение начинает сбой с «java.net.UnknownHostException».Но из системы я могу отправлять запросы ping различным приложениям, используя FQDN.Чтобы применить изменение DNS-сервера, мы должны перезапустить приложение.

Есть ли какой-либо способ в Java, где мы можем обновить данные DNS-сервера во время выполнения?

1 Ответ

0 голосов
/ 17 декабря 2018

Вы можете отключить DNS-кэширование для Java с 3 решениями:

Решение 1:

Запустите вашу программу с этим флагом:

-Dsun.net.inetaddr.ttl=0

Решение 2:

В верхней части кода Java используйте setProperty

java.security.Security.setProperty("networkaddress.cache.ttl" , "0")

Решение 3:

В $JRE_HOME/lib/security/java.security указан:

networkaddress.cache.ttl = 0
networkaddress.cache.negative.ttl = 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...