Flapdoodles Download-Proxy vor dem MongoDB-Start setzen
Passen Sie DownloadPackage in einer transitionsbasierten Flapdoodle-Einrichtung an und beachten Sie, dass ein warmer Cache den Proxy-Pfad überspringen kann.
Wenn der Start beim Abrufen des MongoDB-Archivs fehlschlägt, konfigurieren Sie den Paket-Downloader von Flapdoodle. Die HTTP-Proxy-Liste kann Kandidaten-Endpunkte für eine öffentliche Download-Route liefern. Der Datenbank-Client hat seine spätere Verbindung noch nicht aufgebaut.
Die moderne transitionsbasierte Anpassung stellt den Proxy über DownloadPackage bereit:
Mongod mongod = new Mongod() {
@Override
public DownloadPackage downloadPackage() {
return DownloadPackage.withDefaults()
.withDownloadConfig(DownloadConfig.defaults()
.withProxyFactory(() -> Proxys.httpProxy("proxy.example", 8080)));
}
};Verwenden Sie die Klassen aus den gewählten Flapdoodle-MongoDB- und embedded-process-Bibliotheken und nutzen Sie dieses angepasste Mongod dann in der Anwendung oder im Testaufbau. Das Lambda liefert den HTTP-Proxy; die Archiv-URL bleibt das Download-Ziel.
Ein erfolgreicher Start aus dem Cache nutzt diesen Proxy nicht. Der Paketübergang prüft zuerst den Download-Cache, daher sollten Sie beim Bewerten des Startergebnisses einen Cache-Treffer von einem tatsächlichen Archivabruf unterscheiden.
Dieses Muster gehört zur Transition-API. Ältere RuntimeConfig-Builder und der frühere DownloadConfigBuilderCustomizer von Spring Boot verwenden andere Schnittstellen für Anpassung und Cache-Layout; stimmen Sie das Beispiel auf die Abhängigkeitsgeneration der Anwendung ab.