每Amazon's developer guide个人应该在文件java.security中设置网络缓存TTL(设置为60秒)
networkaddress.cache.ttl=60
或以编程方式通过
java.security.Security.setProperty("networkaddress.cache.ttl" , "60");
我的问题是,在代码运行后更改TTL是否安全。 AWS的指南没有指定任何效果。必须在第一次DNS查找之前设置此属性下注吗?程序运行后的任何时候都会生效?等
Oracle documentation定义了该属性,但似乎没有指定如何安全地设置它。
我认为完全研究的唯一方法是阅读围绕这个值的源代码,但确实应该有更好的文档。还在寻找。
答案 0 :(得分:0)
你可能很好。 Inet类包括方法
public static synchronized void setIfNotSet(int newPolicy) {
/*
* When setting the new value we may want to signal that the
* cache should be flushed, though this doesn't seem strictly
* necessary.
*/
if (!propertySet) {
checkValue(newPolicy, cachePolicy);
cachePolicy = newPolicy;
}
}
这似乎旨在设定新政策。 checkValue
方法确保您不会将政策作为安全措施,您在这种情况下不会这样做,所以没关系。
(我还在研究它的用途,想要更明确的东西。)