Si l'arrencada falla en obtenir l'arxiu de MongoDB, configureu el descarregador de paquets de Flapdoodle. La llista de proxys HTTP pot proporcionar punts finals candidats per a una ruta de descàrrega pública. El client de la base de dades encara no ha fet la seva connexió posterior.

La personalització moderna basada en transicions proporciona el proxy mitjançant DownloadPackage:

Mongod mongod = new Mongod() {
    @Override
    public DownloadPackage downloadPackage() {
        return DownloadPackage.withDefaults()
            .withDownloadConfig(DownloadConfig.defaults()
                .withProxyFactory(() -> Proxys.httpProxy("proxy.example", 8080)));
    }
};

Utilitzeu les classes de les biblioteques Flapdoodle MongoDB i embedded-process seleccionades i, després, utilitzeu aquest Mongod personalitzat a l'aplicació o a la configuració de proves. La lambda proporciona el proxy HTTP; l'URL de l'arxiu continua sent la destinació de la descàrrega.

Una arrencada correcta amb memòria cau no fa servir aquest proxy. La transició del paquet comprova primer la memòria cau de descàrregues, així que distingiu un encert de memòria cau d'una obtenció real de l'arxiu quan avalueu el resultat de l'arrencada.

Aquest patró pertany a l'API de transicions. Els constructors RuntimeConfig antics i l'antic DownloadConfigBuilderCustomizer de Spring Boot fan servir interfícies de personalització i distribució de memòria cau diferents; feu coincidir l'exemple amb la generació de dependències de l'aplicació.

Articles relacionats