gpt4 book ai didi

java - 由于 networkaddress.cache.ttl 设置,JVM 是否缓存 url?

转载 作者:行者123 更新时间:2023-11-30 06:49:01 24 4
gpt4 key购买 nike

Oracle 的文档说明了以下有关缓存 ttl 的信息 -

networkaddress.cache.ttl
Specified in java.security to indicate the caching policy for successful name lookups from the name service.. The value is specified as integer to indicate the number of seconds to cache the successful lookup.

此设置如何影响 DNS 的解析方式?我在地理负载均衡器后面有两个节点,我连接到它们以获取服务。现在,如果它们切换到指向其他两个节点并且如果上述设置设置为 -1,它是否仍会尝试更早解析的 DNS 并尝试转到可能不再存在的节点?如果我在那种情况下不使用安全管理器,此设置是否有任何值(value)?

提前致谢。

最佳答案

如果安装了安全管理器,JVM 的默认行为是永久缓存(设置 -1)。因此,您必须明确设置 ttl 超时,以便重新尝试 DNS 解析。您可以在应用程序启动(应用程序级别)或系统级别通过安全管理器设置此属性。

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

对于系统范围的编辑,下面的文件将 ttl 包含为零。

<JAVA_HOME>/jre/lib/security/java.security

networkaddress.cache.ttl=0

没有安全管理器:通常默认值取决于 os & jvm 类型。 AWS 使用 60sec,引用 this

PS:系统级设置始终覆盖应用级设置。

关于java - 由于 networkaddress.cache.ttl 设置,JVM 是否缓存 url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43454654/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com