Αν η εκκίνηση αποτύχει κατά τη λήψη του αρχείου MongoDB, ρυθμίστε τον λήπτη πακέτων του Flapdoodle. Η λίστα proxy HTTP μπορεί να προσφέρει υποψήφια τελικά σημεία για μια δημόσια διαδρομή λήψης. Ο πελάτης της βάσης δεδομένων δεν έχει κάνει ακόμη τη μεταγενέστερη σύνδεσή του.

Η σύγχρονη προσαρμογή βασισμένη σε μεταβάσεις παρέχει το proxy μέσω του 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 στην εφαρμογή ή στη ρύθμιση δοκιμών. Το λάμδα παρέχει το proxy HTTP· η διεύθυνση URL του αρχείου παραμένει ο προορισμός λήψης.

Μια επιτυχής εκκίνηση από την cache δεν χρησιμοποιεί αυτό το proxy. Η μετάβαση του πακέτου ελέγχει πρώτα τη cache λήψεων, οπότε διακρίνετε ένα χτύπημα cache από μια πραγματική λήψη αρχείου όταν αξιολογείτε το αποτέλεσμα της εκκίνησης.

Αυτό το μοτίβο ανήκει στο API μεταβάσεων. Οι παλαιότεροι δημιουργοί RuntimeConfig και ο πρώην DownloadConfigBuilderCustomizer του Spring Boot χρησιμοποιούν διαφορετικές διεπαφές προσαρμογής και διάταξης cache· αντιστοιχίστε το παράδειγμα με τη γενιά εξαρτήσεων της εφαρμογής.

Σχετικά άρθρα