Als het opstarten mislukt tijdens het ophalen van het MongoDB-archief, configureer dan de pakketdownloaders van Flapdoodle. De HTTP-proxylijst kan kandidaat-eindpunten leveren voor een openbare downloadroute. De databaseclient heeft zijn latere verbinding nog niet gemaakt.

De moderne op transities gebaseerde aanpassing levert de proxy via DownloadPackage:

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

Gebruik de klassen uit de gekozen Flapdoodle MongoDB- en embedded-process-bibliotheken en gebruik vervolgens deze aangepaste Mongod in de toepassing of testopstelling. De lambda levert de HTTP-proxy; de archief-URL blijft de downloadbestemming.

Een geslaagde start uit de cache gebruikt die proxy niet. De pakkettransitie controleert eerst de downloadcache, dus onderscheid een cachetreffer van een daadwerkelijke archiefophaling bij het beoordelen van het startresultaat.

Dit patroon hoort bij de transitie-API. Oudere RuntimeConfig-builders en de vroegere DownloadConfigBuilderCustomizer van Spring Boot gebruiken andere interfaces voor aanpassing en cache-indeling; stem het voorbeeld af op de afhankelijkheidsgeneratie in de toepassing.

Gerelateerde artikelen