MongoDB のアーカイブ取得中に起動が失敗する場合は、Flapdoodle のパッケージダウンローダーを設定します。HTTP プロキシ一覧は、公開ダウンロード経路の候補エンドポイントを提供できます。データベースクライアントはまだ後続の接続を行っていません。

最近のトランジションベースのカスタマイズでは、DownloadPackage を通じてプロキシを指定します。

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

選択した Flapdoodle MongoDB と embedded-process のライブラリからクラスを取得し、このカスタマイズした Mongod をアプリケーションまたはテスト構成で使用します。ラムダが HTTP プロキシを提供し、アーカイブ URL はダウンロード先のままです。

キャッシュからの起動が成功しても、そのプロキシは使われません。パッケージのトランジションは最初にダウンロードキャッシュを確認するため、起動結果を評価するときはキャッシュヒットと実際のアーカイブ取得を区別してください。

このパターンはトランジション API に属します。古い RuntimeConfig ビルダーや Spring Boot の旧 DownloadConfigBuilderCustomizer は、カスタマイズとキャッシュレイアウトのインターフェースが異なります。アプリケーションの依存関係の世代に例を合わせてください。

関連記事