java - 设置 Java DNS 缓存 TTL

标签 java dns

我正在尝试更改 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/

相关文章:

java - RESTEASY 如何让@PathParam 匹配一个UUID?

macos - Mac OSX Yosemite 上的 com.apple.mDNSResponder.plist 文件

php - 如何在 php 中验证正确的域名和子域

nginx - proxy_pass 不使用/etc/hosts 解析 DNS

java - 可调用和异常处理

java - 打印变量无法按预期工作 - Java

java - 如何将 ApiParam 传递给另一个变量的 validator ?

javascript - 有没有办法刷新客户端(浏览器)的 DNS?

php - 使用 PHP 反向查找 IP

java - 使用 jax-rs 使用 jquery 下载 pdf