Configure o proxy de download do Flapdoodle antes de o MongoDB iniciar
Personalize DownloadPackage em uma configuração Flapdoodle baseada em transições e lembre-se de que um cache quente pode ignorar o caminho do proxy.
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.