Configure o proxy de descarga de Flapdoodle antes de que arrinque MongoDB
Personalice DownloadPackage nunha configuración de Flapdoodle baseada en transicións e lembre que unha caché quente pode saltar a ruta do proxy.
Se o arranque falla ao obter o arquivo de MongoDB, configure o descargador de paquetes de Flapdoodle. A lista de proxies HTTP pode fornecer puntos finais candidatos para unha ruta de descarga pública. O cliente da base de datos aínda non fixo a súa conexión posterior.
A personalización moderna baseada en transicións fornece o proxy mediante DownloadPackage:
Mongod mongod = new Mongod() {
@Override
public DownloadPackage downloadPackage() {
return DownloadPackage.withDefaults()
.withDownloadConfig(DownloadConfig.defaults()
.withProxyFactory(() -> Proxys.httpProxy("proxy.example", 8080)));
}
};Use as clases das bibliotecas Flapdoodle MongoDB e embedded-process seleccionadas e, despois, use este Mongod personalizado na aplicación ou na configuración de probas. A lambda fornece o proxy HTTP; o URL do arquivo segue a ser o destino da descarga.
Un arranque correcto desde a caché non usa ese proxy. A transición do paquete comproba primeiro a caché de descargas, así que distinga un acerto de caché dunha obtención real do arquivo ao avaliar o resultado do arranque.
Este patrón pertence á API de transicións. Os construtores RuntimeConfig antigos e o antigo DownloadConfigBuilderCustomizer de Spring Boot usan interfaces de personalización e distribución de caché distintas; faga coincidir o exemplo coa xeración de dependencias da aplicación.