java dns缓存不刷新
2017-03-30 11:53
295 查看
问题
域名 d.com 绑定的两个IP分别是IP1, IP2因为业务调整把IP2替换成IP3,
于是修改DNS配置d.com 到IP1,IP3,nslookup查看修改成功
但是:通过
InetAddress.getAllByName("d.com");获取的还是老IP1,IP2,不能提前生效。
解决
开始刷新java dns cache ,清除但是还不管用,使用java NameService还是不管用Class clazz = java.net.InetAddress.class; Field nameServicesField = clazz.getDeclaredField("nameServices"); nameServicesField.setAccessible(true); List<NameService> nameServices = (List<NameService>) nameServicesField.get(clazz); for (NameService nameService : nameServices) { try { return nameService.lookupAllHostAddr(host); } catch (UnknownHostException uhe) { uhe.printStackTrace(); } }
最终解决清除机子dns缓存,郁闷
nscd -i hosts
相关文章推荐
- 如何刷新本地 DNS 缓存
- 在Linux/Windows/Mac上刷新DNS缓存的方法
- 刷新DNS解析缓存
- Windows系统刷新本地DNS缓存
- 利用自定义ClassLoader和接口逻辑后台可刷新缓存实现java-web项目的动态发布
- windows如何刷新DNS缓存
- Java网络编程从入门到精通(4):DNS缓存
- 【diannaoxitong】刷新DNS命令 怎么清空DNS缓存
- 刷新DNS命令 如何刷新DNS缓存
- 通过JAVA反射修改JDK1.6*当中DNS缓存内容
- 不同的系统中刷新DNS缓存的方法
- 刷新DNS缓存
- 刷新本地DNS缓存的方法
- Linux/Ubuntu下刷新DNS缓存的方法
- 关于java的DNS解析IP缓存问题
- 刷新dns缓存
- 如何刷新DNS缓存
- winxp下刷新DNS命令,如何刷新DNS缓存,修改WINXP的DNS缓存时间
- 刷新本地DNS缓存的方法
- java网络编程基础夯实04-DNS缓存