例如,如果我在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记录才能找到完整的域名。
任何想法如何做到这一点?