As erickson pointed out, the JNDI API has a provider for DNS using JNDI, which you can read up about on that link. For a working sample query the _ldap._.tcp.mydomain.com
record, see this code from Hudson.
I believe that before utilizing the DNS provider, you need to load it with something like this (modified from the Hudson code above):
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.dns.DnsContextFactory");
env.put("java.naming.provider.url", "dns:");
DirContext ctx = new InitialDirContext(env);
from there you, can obtain the SRV record via something like:
Attributes attributes = ctx.getAttributes("_ldap._tcp.mydomain.com", new String[]{"SRV"});
Attribute a = attributes.get("SRV");
I've successfully managed to use code like this in a couple of projects for very straight-forward AD integration.