可以设置Java';程序运行后的网络缓存?
每人应在文件java.security via中设置网络缓存TTL(设置为60秒) 或以编程方式通过可以设置Java';程序运行后的网络缓存?,java,caching,networking,Java,Caching,Networking,每人应在文件java.security via中设置网络缓存TTL(设置为60秒) 或以编程方式通过 java.security.Security.setProperty("networkaddress.cache.ttl" , "60"); 我的问题是,在代码已经运行之后更改TTL是否安全。美国焊接学会的指南对此没有任何规定。必须在第一次DNS查找之前设置此属性吗?程序运行后的任何时间,它是否会生效?等等 Oracle定义了该属性,但似乎没有指定如何安全地设置它 我认为进行全面研究的唯一方法
java.security.Security.setProperty("networkaddress.cache.ttl" , "60");
我的问题是,在代码已经运行之后更改TTL是否安全。美国焊接学会的指南对此没有任何规定。必须在第一次DNS查找之前设置此属性吗?程序运行后的任何时间,它是否会生效?等等
Oracle定义了该属性,但似乎没有指定如何安全地设置它
我认为进行全面研究的唯一方法是阅读围绕此值的源代码,但确实应该有更好的文档。还在搜索。你可能很好。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
方法确保您不会将策略作为一种安全措施而松懈,在本例中您没有这样做,所以这是可以的
(我仍在研究它的用途,希望有更明确的信息。)
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;
}
}