java dns缓存清理_有什么办法让Java尊重DNS缓存超时(TTL)?

/**

* http://stackoverflow.com/questions/1256556/any-way-to-make-java-honor-the-dns-caching-timeout-ttl

*

* Result: Java 6 distributed with Ubuntu 12.04 and Java 7 u15 downloaded from Oracle have

* an expiry time for dns lookups of approx. 30 seconds.

*/importjava.util.*;importjava.text.*;importjava.security.*;importjava.net.InetAddress;importjava.net.UnknownHostException;importjava.io.BufferedReader;importjava.io.InputStreamReader;importjava.io.InputStream;importjava.net.URL;importjava.net.URLConnection;publicclassTest{finalstaticStringhostname="www.google.com";publicstaticvoidmain(String[]args){// only required for Java SE 5 and lower://Security.setProperty("networkaddress.cache.ttl", "30");System.out.println(Security.getProperty("networkaddress.cache.ttl"));System.out.println(System.getProperty("networkaddress.cache.ttl"));System.out.println(Security.getProperty("networkaddress.cache.negative.ttl"));System.out.println(System.getProperty("networkaddress.cache.negative.ttl"));while(true){inti=0;try{makeRequest();InetAddressinetAddress=InetAddress.getLocalHost();System.out.println(newDate());inetAddress=InetAddress.getByName(hostname);displayStuff(hostname,inetAddress);}catch(UnknownHostExceptione){e.printStackTrace();}try{Thread.sleep(5L*1000L);}catch(Exceptionex){}i++;}}publicstaticvoiddisplayStuff(StringwhichHost,InetAddressinetAddress){System.out.println("Which Host:"+whichHost);System.out.println("Canonical Host Name:"+inetAddress.getCanonicalHostName());System.out.println("Host Name:"+inetAddress.getHostName());System.out.println("Host Address:"+inetAddress.getHostAddress());}publicstaticvoidmakeRequest(){try{URL url=newURL("http://"+hostname+"/");URLConnectionconn=url.openConnection();conn.connect();InputStreamis=conn.getInputStream();InputStreamReaderird=newInputStreamReader(is);BufferedReaderrd=newBufferedReader(ird);Stringres;while((res=rd.readLine())!=null){System.out.println(res);break;}rd.close();}catch(Exceptionex){ex.printStackTrace();}}}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值