2009-08-19 12 views
0

私はインターネットアドレスを検索するために次の操作を行っています。 resolv.confにIPv6ネームサーバを持つSolarisマシンでは特に失敗します。 IPv6ネームサーバーを持つWindowsマシンとIPv4のみのSolarisマシンでうまく動作します。返されたエラーから、Javaの「getAttributes」行は、IPv6ネームサーバーで提示されたときに、解析の問題で内部的に(どこかに深い)失敗しているようです。私の質問は、「IPv6を使用しているときに、Solaris上で適切に動作するようにする方法はありますか?SolarisでIPv6をサポートするJava用の新しいライブラリはありますか?

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" }); 
+0

入手しようとしている情報はありますか? – Kevin

+0

私がやっているのは、指定されたホスト名のAレコードを取得することです。私は特定のドメイン名のすべてのIPアドレスのリストが必要です。しかし、IPv6ネームサーバを実行しているSolarisホストでは、Javaライブラリ自体が深く障害を受けます。おそらく、その状況で失敗しないようにする別の方法がありますか? –

答えて

0

新しいバージョンのJavaは「より良く」動作します。 Java 7にアップグレードした後、このように内部的に失敗することはなくなりました。

0

ベースjava.net.InetAddressは(javadocのあたり)は、Java 1.4以降IPv6変種とIPv4バリアントを持っていました。

com.sun.jndi.dns.DnsContextFactoryに関する質問が多かったようです。どのJavaのバージョンですか?

+0

これはJ2SE6です。残念ながら、マシンがIPv6ネームサーバまたはIPv4ネームサーバを使用するかどうかは、事前にわかりません。したがって、Javaライブラリを使用し、自分のものを使用していないという点があります。 :-) –

関連する問題