2016-05-06 2 views
1

Ich habe Java-Programm, das Apache HTTP-Client verwendet.Hat die Eigenschaft "networkaddress.cache.negative.ttl" von jvm apache httpClient.execute (httpMethod, context) Auswirkungen?

httpClient.execute(httpMethod, context); 

So suppose erste Mal, wenn mein Server unten dann ausgeführt wird mit Timeout-Fehler fehlschlagen, und ich habe einen Wiederholungsmechanismus, der die Anforderung erneut versucht.

Also, wenn ich vor "networkaddress.cache.negative.ttl" Zeit wiederholen, auch wenn mein Server ist, werde ich in der Lage sein, die Antwort zu bekommen?

Antwort

1

Der Cache ist die Antwort von DNS, nicht von Ihrem Server. Solange DNS geantwortet hat und gesagt hat, dass your.server.example.com die IP-Adresse 127.0.0.1 hat, wird es auf der DNS-Ebene zwischengespeichert, und das nächste Mal, wenn Ihre Methode versucht, eine Verbindung herzustellen, wird sie damit kommunizieren.

Die einzige Zeit networkaddress.cache.negative.ttl ins Spiel kommt, wenn der DNS-Server your.server.example.com DNS-Name nicht existiert. Es wird nachfolgende DNS-Lookups verzögern, bis dieses Zeitlimit überschritten wurde.

+0

Angenommen, mein Server ist ausgefallen, aber DNS hat IP, aber wir haben die Antwort vom Server nicht erhalten, in diesem Fall wird der aktuelle Zustand als nicht aktiv gespeichert und das nächste Mal, wenn ich innerhalb der Ablaufzeit dafür versuche, und Selbst wenn mein Server auf ist, werde ich keine Antwort bekommen. –

+0

Der Cache hat nichts damit zu tun, dass Ihr Server hoch oder runter ist; Es ist ein DNS-Cache. – AlBlue

+0

Also werde ich anfangen, die Antwort zu erhalten, sobald der Server aus ist? –

Verwandte Themen