我遇到一个问题,Java (1.8) 应用程序继续使用进程启动时配置的 DNS 服务器而不是当前配置。在 Java 应用程序重新启动之前,这种情况持续了一周。
具体来说,这是在 Centos 6 上运行(是的,我知道),带有 nscd(用于主机缓存的 600 秒 TTL)。 2 台 DNS 服务器中的一台已停用,并在不同的 IP 地址添加了一台新服务器。这已添加到 resolv.conf(即 2 个工作 DNS 服务器)并重新启动 nscd。然而,Java 似乎继续使用已退役的 DNS 服务器/没有切换到幸存的 DNS 服务器/没有尝试使用新的 DNS 服务器。
是否有关于解析器在这种情况下应如何表现的规则/期望?
- 是否应该定期检查配置?
- 超时时是否应该尝试另一台 DNS 服务器?
指向规范(Posix?)的指针将不胜感激