例如,如果我在DNS配置定義了以下SRV記錄JNDI DNS查找名稱
_dev._tcp IN SRV 0 0 8400 dev.server.com.
我可以執行以下命令
host -lt SRV server.com
,這讓我完整列表的DNS服務器(server.com)中的SRV記錄。如果我想用JNDI查找來做同樣的事情
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記錄才能找到完整的域名。
任何想法如何做到這一點?