您的位置:首页 > 编程语言 > Java开发

Java Dns Cache Manipulator

2015-06-17 16:37 531 查看
通过代码直接设置Java的DNS(实际上设置的是DNS Cache),支持JDK 6+。



功能

设置/重置DNS(不会再去Lookup DNS)

可以设置单条

或是通过Properties文件批量设置

查看DNS Cache内容

删除一条DNS Cache(即重新Lookup DNS)

清空DNS Cache(即所有的域名重新Lookup DNS)



需求场景

一些库中写死了连接域名,需要通过修改host文件绑定才能做测试。结果是:

自动持续集成的机器上一般同学是没有权限去修改host文件的,导致项目不能持续集成。
实际上是因为这点,催生这个库的需求。




单元测试需要每个开发都在开发机上做host绑定,增加了依赖的配置操作且繁琐重复。

一些功能需要域名作为输入参数,如使用HTTP请求的网关 或是 有域名检查限制的Web应用。
这种情况下,让需要让一个域名连接到测试机器的IP上,或是 使用一个还不存在的域名但又不想或不能去配置DNS。

在性能测试时,

不去做网络的DNS Lookup(DNS解析消耗),这样使得压测更加关注服务器响应,压测更充分反应出实现代码的性能。

可以动态修改DNS缓存,无需修改host文件和http链接等不灵活的方式。

一个JVM进程可以对应一套域名绑定,相互之间不影响,可以实现多场景,多域名绑定的需求压测。

打开Java中的SecurityManager时(如在Web容器Tomcat中的Web应用),Java的DNS缺省是不会失效的。 如果域名绑定的IP变了,可以通过这个库重置DNS,作为一个临时的手段(强烈不推荐)。
当然往往进行要先有能执行入口,比如远程调用或是jvm-ssh-groovy-shell
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: