in library/src/main/java/com/alibaba/dcm/internal/InetAddressCacheUtilCommons.java [149:181]
private static void initFieldsOfInetAddressCachePolicy() throws NoSuchFieldException {
if (negativeSetOfInetAddressCachePolicy != null) return;
final Class<?> clazz = InetAddressCachePolicy.class;
synchronized (InetAddressCacheUtilCommons.class) {
// double check
if (negativeSetOfInetAddressCachePolicy != null) return;
Field f = clazz.getDeclaredField("cachePolicy");
f.setAccessible(true);
cachePolicyFiledOfInetAddressCachePolicy = f;
f = clazz.getDeclaredField("negativeCachePolicy");
f.setAccessible(true);
negativeCachePolicyFiledOfInetAddressCachePolicy = f;
try {
f = clazz.getDeclaredField("propertySet");
} catch (NoSuchFieldException e) {
f = clazz.getDeclaredField("set");
}
f.setAccessible(true);
setFiledOfInetAddressCachePolicy = f;
try {
f = clazz.getDeclaredField("propertyNegativeSet");
} catch (NoSuchFieldException e) {
f = clazz.getDeclaredField("negativeSet");
}
f.setAccessible(true);
negativeSetOfInetAddressCachePolicy = f;
}
}