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은 사용자 지정 및 캐시 레이아웃 인터페이스가 다릅니다. 예제를 애플리케이션의 의존성 세대에 맞추세요.

관련 글