Kung nabigo ang startup habang kinukuha ang MongoDB archive, i-configure ang package downloader ng Flapdoodle. Ang listahan ng HTTP proxy ay makapagbibigay ng mga kandidatong endpoint para sa pampublikong daan ng download. Hindi pa ginagawa ng database client ang huli nitong koneksyon.

Ang modernong transition-based na customization ay nagbibigay ng proxy sa pamamagitan ng DownloadPackage:

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

Gamitin ang mga klase mula sa piniling Flapdoodle MongoDB at embedded-process na mga library, pagkatapos ay gamitin ang naka-customize na Mongod na ito sa application o setup ng test. Ang lambda ang nagbibigay ng HTTP proxy; ang archive URL ay nananatiling destinasyon ng download.

Ang matagumpay na startup mula sa cache ay hindi gumagamit ng proxy na iyon. Sinusuri muna ng transition ng package ang cache ng download, kaya ihiwalay ang cache hit sa aktuwal na pagkuha ng archive kapag tinatasa ang resulta ng startup.

Ang pattern na ito ay kabilang sa transition API. Ang mas lumang RuntimeConfig builders at ang dating DownloadConfigBuilderCustomizer ng Spring Boot ay gumagamit ng iba't ibang interface ng customization at cache layout; itugma ang halimbawa sa henerasyon ng dependency sa application.

Kaugnay na mga artikulo