Class DnsSrvRecordAddressResolver

  • All Implemented Interfaces:
    AddressResolver

    public class DnsSrvRecordAddressResolver
    extends java.lang.Object
    implements AddressResolver
    AddressResolver that resolves addresses against a DNS SRV request. SRV records contain the hostname and the port for a given service. They also support priorities, to give precedence to a given host over other hosts. Note the hosts returned by the SRV query must be resolvable by the DNS servers of the underlying platform (or the default ones specified for this Java process). This class does not issue a query for A records after the SRV query. This implementation returns the highest-priority records first. This behavior can be changed by overriding the sort method. This implementation uses internally the com.sun.jndi.dns.DnsContextFactory class for the DNS query. The first returned address is used when automatic recovery is NOT enabled at the ConnectionFactory level. When automatic recovery is enabled, a random address will be picked up from the returned list of Addresses.
    • Field Detail

      • service

        private final java.lang.String service
        the SRV service information. e.g. _sip._tcp.example.com or rabbitmq.service.consul
      • dnsUrls

        private final java.lang.String dnsUrls
        URLs of the DNS servers. e.g. dns://server1.example.com/example.com Default to dns:, that is the DNS server of the underlying platform.
    • Constructor Detail

      • DnsSrvRecordAddressResolver

        public DnsSrvRecordAddressResolver​(java.lang.String service)
      • DnsSrvRecordAddressResolver

        public DnsSrvRecordAddressResolver​(java.lang.String service,
                                           java.lang.String dnsUrls)