Например, если в моей конфигурации DNS определена следующая запись SRV
_dev._tcp IN SRV 0 0 8400 dev.server.com.
Я могу выполнить следующую команду
host -lt SRV server.com
И это дает мне полный список записей SRV на DNS-сервере (server.com). Если я хочу сделать то же самое, используя JNDI lookup
Hashtable<String, String> env = new Hashtable<String, String>();
env.put("java.naming.factory.initial", "com.sun.jndi.dns.DnsContextFactory");
DirContext ctx = new InitialDirContext(env);
Attributes attributes = ctx.getAttributes("server.com", new String [] { "SRV" });
return attributes;
Приведенный выше код не возвращает никаких атрибутов. Если я изменю предпоследнюю строку в приведенном выше коде на это,
Attributes attributes = ctx.getAttributes("_dev._tcp.server.com", new String [] { "SRV" });
это работает.
Но проблема в том, что я не знаю полное доменное имя ранее, и мне нужно найти запись SRV, чтобы найти полное доменное имя.
Есть идеи, как это сделать?