linux - 从 JAVA 刷新 linux DNS

标签 linux dns cloud

我们有一个 RC 模块,它在热部署期间被放入我们的云服务器中。为此,我需要一种从 JAVA 中以编程方式刷新 DNS 的方法。我能想到的最好的解决方案是让 java 触发一个外部 shell 脚本,但是我没有任何运气。我已经尝试了“正常”程序,但没有效果:

1) 重新启动 nscd 服务(未安装在这些服务器中)
2)/etc/init.d/networking restart (无效)
3)/etc/init.d/dns-clean 启动(无效果)

有人有更多建议吗?

(注意:这是对之前一篇文章的改写,必须被确定为与“非开发”相关...)

TIA

最佳答案

这取决于 JVM 实现。在 Oracle JDK 上,您需要设置 networkaddress.cache.ttlnetworkaddress.cache.negative.ttl security 属性(在 $JAVA_HOME/lib/security/java.security)。出厂默认设置是永远缓存肯定的答案。

据我所知,无法在运行时刷新缓存。

参见 http://docs.oracle.com/javase/7/docs/technotes/guides/net/properties.html

关于linux - 从 JAVA 刷新 linux DNS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18085099/

相关文章:

linux - $() 与重定向有何不同?

c - 我对内存分配和页面大小的理解正确吗?

linux - 使用 FIFO 调度的进程仍处于关闭状态?

amazon-web-services - 1、参数groupName不能与参数subnet一起使用

linux - linux命令行上双引号字符串内的单引号

language-agnostic - 如何检查域名是否存在?

.net - 在 .net FTP 服务器实现中获取我自己的主机名

linux - 使用静态/固定 IP 接收 DNS

javascript - 更新失败,无法加载触发器。错误未被捕获您必须使用 Parse.initialize 指定一个 key

javascript - parse.com 云代码,后台作业调用