public interface

DnsResolver

org.springframework.security.remoting.dns.DnsResolver
Known Indirect Subclasses

Class Overview

Helper class for DNS operations.

Summary

Public Methods
abstract String resolveIpAddress(String hostname)
Resolves the IP Address (A record) to the specified host name.
abstract String resolveServiceEntry(String serviceType, String domain)

Resolves the host name for the specified service in the specified domain

For example, if you need the host name for an LDAP server running in the domain springsource.com, you would call resolveServiceEntry("ldap", "springsource.com").

abstract String resolveServiceIpAddress(String serviceType, String domain)
Resolves the host name for the specified service and then the IP Address for this host in one call.

Public Methods

public abstract String resolveIpAddress (String hostname)

Resolves the IP Address (A record) to the specified host name. Throws DnsEntryNotFoundException if there is no record.

Parameters
hostname The hostname for which you need the IP Address
Returns
  • IP Address as a String
Throws
DnsEntryNotFoundException No record found
DnsLookupException Unknown DNS error

public abstract String resolveServiceEntry (String serviceType, String domain)

Resolves the host name for the specified service in the specified domain

For example, if you need the host name for an LDAP server running in the domain springsource.com, you would call resolveServiceEntry("ldap", "springsource.com").

The DNS server needs to provide the service records for this, in the example above, it would look like this:

_ldap._tcp.springsource.com IN SRV 10 0 88 ldap.springsource.com.
The method will return the record with highest priority (which means the lowest number in the DNS record) and if there are more than one records with the same priority, it will return the one with the highest weight. You will find more informatione about DNS service records at Wikipedia.

Parameters
serviceType The service type you are searching for, e.g. ldap, kerberos, ...
domain The domain, in which you are searching for the service
Returns
  • The hostname of the service
Throws
DnsEntryNotFoundException No record found
DnsLookupException Unknown DNS error

public abstract String resolveServiceIpAddress (String serviceType, String domain)

Resolves the host name for the specified service and then the IP Address for this host in one call.

Parameters
serviceType The service type you are searching for, e.g. ldap, kerberos, ...
domain The domain, in which you are searching for the service
Returns
  • IP Address of the service
Throws
DnsEntryNotFoundException No record found
DnsLookupException Unknown DNS error