/**
* 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();}}}