Enum DnsNameResolverChannelStrategy

    • Enum Constant Detail

      • ChannelPerResolver

        public static final DnsNameResolverChannelStrategy ChannelPerResolver
        Use the same underlying Channel for all queries produced by a single DnsNameResolver instance.

        As the same Channel is used for all queries we will also use the same source port for all of these. To minimize the risk of spoofing integrators should ideally use multiple resolvers randomly, so that there is source port randomization following the recommendations of RFC5452 Section 9.2.

      • ChannelPerResolution

        public static final DnsNameResolverChannelStrategy ChannelPerResolution
        Use a new Channel per resolution or per explicit query. As of today this is similar to what the DefaultNameResolver (JDK default) does. As we will need to open and close a new socket for each resolution it will come with a performance overhead. That said using this strategy should be the most robust and also guard against problems that can arise in kubernetes (or similar) setups.
    • Constructor Detail

      • DnsNameResolverChannelStrategy

        private DnsNameResolverChannelStrategy()
    • Method Detail

      • values

        public static DnsNameResolverChannelStrategy[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (DnsNameResolverChannelStrategy c : DnsNameResolverChannelStrategy.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static DnsNameResolverChannelStrategy valueOf​(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null