หากการเริ่มทำงานล้มเหลวขณะดึงไฟล์เก็บถาวร 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 แบบเก่าและ DownloadConfigBuilderCustomizer เดิมของ Spring Boot ใช้ส่วนติดต่อการปรับแต่งและการจัดวางแคชที่ต่างกัน จับคู่ตัวอย่างกับรุ่นของ dependency ในแอปพลิเคชัน

บทความที่เกี่ยวข้อง