private static void initFieldsOfInetAddressCachePolicy()

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;
        }
    }