Si el arranque falla al obtener el archivo de MongoDB, configure el descargador de paquetes de Flapdoodle. La lista de proxies HTTP puede aportar puntos de conexión candidatos para una ruta de descarga pública. El cliente de la base de datos todavía no ha realizado su conexión posterior.

La personalización moderna basada en transiciones proporciona el proxy mediante DownloadPackage:

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

Utilice las clases de las bibliotecas Flapdoodle MongoDB y embedded-process seleccionadas y, después, use este Mongod personalizado en la aplicación o en la configuración de pruebas. La lambda proporciona el proxy HTTP; la URL del archivo sigue siendo el destino de la descarga.

Un arranque correcto desde la caché no utiliza ese proxy. La transición del paquete comprueba primero la caché de descargas, así que distinga un acierto de caché de una obtención real del archivo al evaluar el resultado del arranque.

Este patrón pertenece a la API de transiciones. Los constructores RuntimeConfig antiguos y el antiguo DownloadConfigBuilderCustomizer de Spring Boot usan interfaces de personalización y distribución de caché distintas; haga coincidir el ejemplo con la generación de dependencias de la aplicación.

Artículos relacionados