Se a inicialização falhar ao buscar o arquivo do MongoDB, configure o baixador de pacotes do Flapdoodle. A lista de proxies HTTP pode fornecer endpoints candidatos para uma rota pública de download. O cliente do banco de dados ainda não fez sua conexão posterior.

A personalização moderna baseada em transições fornece o proxy por meio de DownloadPackage:

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

Use as classes das bibliotecas Flapdoodle MongoDB e embedded-process escolhidas e, em seguida, use este Mongod personalizado na aplicação ou na configuração de teste. A lambda fornece o proxy HTTP; a URL do arquivo continua sendo o destino do download.

Uma inicialização bem-sucedida pelo cache não usa esse proxy. A transição do pacote verifica primeiro o cache de downloads, portanto diferencie um acerto de cache de uma busca real do arquivo ao avaliar o resultado da inicialização.

Este padrão pertence à API de transições. Construtores RuntimeConfig mais antigos e o antigo DownloadConfigBuilderCustomizer do Spring Boot usam interfaces diferentes de personalização e layout de cache; ajuste o exemplo à geração de dependências da aplicação.

Artigos relacionados