1

ここで質問を説明しようとしましたが、キャッシングが「無効」になっていても、JVM は失敗した DNS ルックアップをキャッシュしているように見えますが、より適切に定式化したいと思います。基本的に、Angstrom Linux を実行している小さな ARM ベースのデバイスで Java コードを実行しています (ただし、RHEL6 でも同じ動作です)。

ネットワークケーブルを抜いた状態でコードを実行し、しばらくしてからケーブルを差し込むと、プログラムは単にブロックされ、ネットワーク上の変更を「認識」しません。つまり、使用しているネットワークサービスは常に失敗します。その瞬間に別の端末から動作します。プログラムがブロックされることもあるため、例外はキャッチされません。なんとなくどこかに引っかかっています。

networkaddress.cache.ttl や networkaddress.cache.negative.ttl などの内部値を調整してみましたが、何も変わりませんでした。問題が下位層にあり、OS と JVM 間の通信のどこかにあることは明らかです。フラッシング、リフレッシュなどを行う方法はありますか...何でも。

最後に私が基本的に望んでいるのは、ネットワーク設定で JVM が OS に追従するようにすることです。

4

0 に答える 0