GOOGLE ADS

Mittwoch, 27. April 2022

Wählen Sie den zu verwendenden Root-DNS-Server aus

Ich möchte auswählen, welcher DNS-Server verwendet werden soll. Ich werde potenziell mehrere Entscheidungen in derselben JVM treffen. Ich möchte IP-Adressen von Hostnamen auflösen.

Dinge, die ich berücksichtigt habe:


  • Wird System.setPropertyzum Festlegen von DNS-Einstellungen für Java verwendet, aber mithilfe von Klassenladeprogrammen festgelegt. Es scheint jedoch, dass die SystemKlasse nicht anders geladen werden kann.


  • Verwenden des dnsjava-Projekts. Ich sehe diese Funktion jedoch nicht unterstützt. Bestenfalls scheint es, dass ich A-Einträge, CNAME-Einträge, AAAA-Einträge usw. korrekt handhaben müsste, damit dies funktioniert.



Was ist der einfachste Weg, einen anderen DNS-Server auf nicht-globale Weise zu verwenden?


Lösung des Problems

Dies war nicht in den Beispielen für dnsjava, aber ich habe Folgendes herausgefunden:

(im Maßstab)

import org.xbill.DNS._
val resolver = new SimpleResolver("8.8.8.8")
val lookup = new Lookup("example.com")
lookup.setResolver(resolver)
val records = lookup.run()
val address = records.asInstanceOf[ARecord].getAddress()

Keine Kommentare:

Kommentar veröffentlichen

Warum werden SCHED_FIFO-Threads derselben physischen CPU zugewiesen, obwohl CPUs im Leerlauf verfügbar sind?

Lösung des Problems Wenn ich das richtig verstehe, versuchen Sie, SCHED_FIFO mit aktiviertem Hyperthreading ("HT") zu verwenden, ...