Pergunta

Eu estou fazendo o seguinte para procurar um endereço de Internet. Ele falha especificamente em máquinas Solaris com servidores de nomes IPv6 no resolv.conf. Funciona bem em máquinas Windows que têm servidores de nomes IPv6 e IPv4 em apenas máquinas Solaris. A partir do erro retornado parece que a linha de Java "getAttributes" está a falhar internamente (em algum lugar profundo) com um problema de análise quando se apresenta com um servidor de nomes IPv6. A minha pergunta é, "se existe uma maneira de fazer isso melhor do que funciona corretamente em Solaris quando o IPv6 está em uso?"

InetAddress localhost=InetAddress.getLocalHost();
ipAddress=localhost.getHostAddress();
env.put("java.naming.factory.initial", "com.sun.jndi.dns.DnsContextFactory");
DirContext ictx = new InitialDirContext(env);
Attributes attrs=ictx.getAttributes("blah.test.fakedomain", new String[] { "A" }); 
Foi útil?

Solução 2

As versões mais recentes de trabalho Java "melhor". Não falha internamente como esta após a atualização para o Java 7.

Outras dicas

A base java.net.InetAddress teve IPv6 variantes e < a href = "http://java.sun.com/javase/6/docs/api/java/net/Inet4Address.html" rel = "nofollow noreferrer"> IPv4 variantes desde Java 1.4 (por javadoc ).

Parece que você tem mais de uma pergunta sobre com.sun.jndi.dns.DnsContextFactory. Qual versão do Java?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top