Pregunta

Estoy haciendo lo siguiente para buscar una dirección de Internet. Se produce un error específicamente en máquinas Solaris que tienen servidores de nombres de IPv6 en el resolv.conf. Funciona bien en máquinas Windows que tengan servidores de nombres IPv6 y IPv4 sólo en máquinas Solaris. De devolvió el error parece que la línea "getAttributes" Java está fallando internamente (en algún lugar profundo) con un problema de análisis cuando se presenta con un servidor de nombres de IPv6. Mi pregunta es, "¿hay una manera de hacerlo mejor que funciona correctamente en Solaris IPv6 cuando está en 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" }); 
¿Fue útil?

Solución 2

Las nuevas versiones de Java funcionan "mejor". Ya no falla internamente como esto después de actualizar a Java 7.

Otros consejos

La base java.net.InetAddress ha tenido variantes IPv6 y < a href = rel => variantes "http://java.sun.com/javase/6/docs/api/java/net/Inet4Address.html" "nofollow" noreferrer IPv4 desde Java 1.4 (por el Javadoc ).

Parece que usted tiene más de una pregunta sobre com.sun.jndi.dns.DnsContextFactory. ¿Qué versión de Java?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top