我正在尝试更改 Java 1.6 中的 DNS 缓存超时。我看讨论here使用如下内容:
java.security.Security.setProperty ("networkaddress.cache.ttl" , TTL_SECS);
但我已经在 Win 7 中尝试过这个简单的测试....
System.out.println("DEFAULT DNS TTL: "+sun.net.InetAddressCachePolicy.get());
java.security.Security.setProperty ("networkaddress.cache.ttl" , "123");
System.out.println("DEFAULT DNS TTL: "+sun.net.InetAddressCachePolicy.get());
... 并且输出没有改变。这似乎可以在 Java 安装的安全属性中更改,但为了整洁起见,我更愿意将其保留在代码中。任何想法如何实现?
谢谢。
最佳答案
试试这个,看看你得到的输出。该属性需要在加载类时设置。
static {
java.security.Security.setProperty ("networkaddress.cache.ttl" , "12");
}
public static void main(String[] args) {
System.out.println("DEFAULT DNS TTL: "+sun.net.InetAddressCachePolicy.get());
java.security.Security.setProperty ("networkaddress.cache.ttl" , "123");
System.out.println("DEFAULT DNS TTL: "+sun.net.InetAddressCachePolicy.get());
}
关于java - 设置 Java DNS 缓存 TTL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12099526/