2016-05-06 2 views
1

私はapache httpクライアントを使用しているJavaプログラムを持っています。jvm apache httpClient.execute(httpMethod、context)の "networkaddress.cache.negative.ttl"プロパティがそれに影響しますか?

httpClient.execute(httpMethod, context); 

私のサーバーが初めてダウンした場合、実行はタイムアウトエラーで失敗し、リクエストを再試行する再試行メカニズムがあります。

「networkaddress.cache.negative.ttl」の前に再試行しても、自分のサーバーが稼働していても応答を取得できますか?

答えて

1

キャッシュはDNSからの応答であり、サーバーからの応答ではありません。 DNSが応答し、your.server.example.comのIPアドレスが127.0.0.1であると、DNSレイヤにキャッシュされ、次にメソッドが接続しようとすると、そのアドレスに接続します。

DNSサーバがyour.server.example.com DNS名が存在しないと唯一のメッセージが表示されるのは、networkaddress.cache.negative.ttlです。そのタイムアウトを超過するまで、後続のDNSルックアップを延期します。

+0

サーバがダウンしていてもDNSにIPがありますが、サーバからの応答が得られなかった場合、その時点で有効ではなく次回に現在の状態が保存されます。私のサーバが稼働していても、私は何の応答も得られないでしょうか? –

+0

キャッシュは、サーバーの稼働中または停止中とは何の関係もありません。そのDNSキャッシュ。 – AlBlue

+0

それでは、サーバーが立ち上がったら、私は応答を得始めるでしょうか? –

関連する問題