Impostate il proxy di download di Flapdoodle prima dell'avvio di MongoDB
Personalizzate DownloadPackage in una configurazione Flapdoodle basata sulle transizioni e ricordate che una cache calda può saltare il percorso del proxy.
Se l'avvio non riesce durante il recupero dell'archivio MongoDB, configurate il downloader dei pacchetti di Flapdoodle. L'elenco dei proxy HTTP può fornire endpoint candidati per un percorso di download pubblico. Il client del database non ha ancora effettuato la sua connessione successiva.
La personalizzazione moderna basata sulle transizioni fornisce il proxy tramite DownloadPackage:
Mongod mongod = new Mongod() {
@Override
public DownloadPackage downloadPackage() {
return DownloadPackage.withDefaults()
.withDownloadConfig(DownloadConfig.defaults()
.withProxyFactory(() -> Proxys.httpProxy("proxy.example", 8080)));
}
};Usate le classi delle librerie Flapdoodle MongoDB e embedded-process scelte, poi usate questo Mongod personalizzato nell'applicazione o nella configurazione di test. La lambda fornisce il proxy HTTP; l'URL dell'archivio resta la destinazione del download.
Un avvio riuscito dalla cache non usa quel proxy. La transizione del pacchetto controlla prima la cache dei download, quindi distinguete un successo dalla cache da un recupero reale dell'archivio quando valutate l'esito dell'avvio.
Questo schema appartiene all'API delle transizioni. I costruttori RuntimeConfig più vecchi e il precedente DownloadConfigBuilderCustomizer di Spring Boot usano interfacce diverse per la personalizzazione e la disposizione della cache; adattate l'esempio alla generazione delle dipendenze dell'applicazione.